mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
4d8836378b
* Add pre-commit to the stack * exclude static * Add locales to excludes * fix style errors * rename pipeline steps * also wait on precommit * make template matching simpler * Use the same code for python setup everywhere * use step and cache for python setup * move regular settings up into general envs * just use full update * Use invoke instead of static references * make setup actions more similar * use python3 * refactor names to be similar * fix runner version * fix references * remove incidential change * use matrix for os * Github can't do this right now * ignore docstyle errors * Add seperate docstring test * update flake call * do not fail on docstring * refactor setup into workflow * update reference * switch to action * resturcture * add bash statements * remove os from cache * update input checks * make code cleaner * fix boolean * no relative paths * install wheel by python * switch to install * revert back to simple wheel * refactor import export tests * move setup keys back to not disturbe tests * remove docstyle till that is fixed * update references * continue on error * use relativ action references * Change step / job docstrings
83 lines
2.3 KiB
YAML
83 lines
2.3 KiB
YAML
name: 'Setup Enviroment'
|
|
description: 'Setup the enviroment for general InvenTree tests'
|
|
author: 'inventree'
|
|
inputs:
|
|
python:
|
|
required: false
|
|
description: 'Install python.'
|
|
default: 'true'
|
|
npm:
|
|
required: false
|
|
description: 'Install npm.'
|
|
default: 'false'
|
|
|
|
install:
|
|
required: false
|
|
description: 'Install the InvenTree requirements?'
|
|
default: 'false'
|
|
update:
|
|
required: false
|
|
description: 'Should a full update cycle be run?'
|
|
default: 'false'
|
|
|
|
apt-dependency:
|
|
required: false
|
|
description: 'Extra APT package for install.'
|
|
pip-dependency:
|
|
required: false
|
|
description: 'Extra python package for install.'
|
|
|
|
runs:
|
|
using: 'composite'
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v2
|
|
|
|
# Python installs
|
|
- name: Set up Python ${{ env.python_version }}
|
|
if: ${{ inputs.python == 'true' }}
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ env.python_version }}
|
|
cache: pip
|
|
- name: Install Base Python Dependencies
|
|
if: ${{ inputs.python == 'true' }}
|
|
shell: bash
|
|
run: |
|
|
python3 -m pip install -U pip
|
|
pip3 install invoke wheel
|
|
- name: Install Specific Python Dependencies
|
|
if: ${{ inputs.pip-dependency }}
|
|
shell: bash
|
|
run: pip3 install ${{ inputs.pip-dependency }}
|
|
|
|
# NPM installs
|
|
- name: Install node.js ${{ env.node_version }}
|
|
if: ${{ inputs.npm == 'true' }}
|
|
uses: actions/setup-node@v2
|
|
with:
|
|
node-version: ${{ env.node_version }}
|
|
cache: 'npm'
|
|
- name: Intall npm packages
|
|
if: ${{ inputs.npm == 'true' }}
|
|
shell: bash
|
|
run: npm install
|
|
|
|
# OS installs
|
|
- name: Install OS Dependencies
|
|
if: ${{ inputs.apt-dependency }}
|
|
shell: bash
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install ${{ inputs.apt-dependency }}
|
|
|
|
# Invoke commands
|
|
- name: Run invoke install
|
|
if: ${{ inputs.install == 'true' }}
|
|
shell: bash
|
|
run: invoke install
|
|
- name: Run invoke update
|
|
if: ${{ inputs.update == 'true' }}
|
|
shell: bash
|
|
run: invoke update
|