CI: Re-add django stubs #1097
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: [push, pull_request] | |
name: continuous integration | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
lint-python: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: '3.10' | |
- run: | | |
pip install "$(grep -E '^flake8' django/requirements-test.txt)" | |
pip install "$(grep -E '^mypy' django/requirements-test.txt)" | |
pip install -r django/requirements-types.txt | |
name: Install lint tools | |
- run: flake8 --statistics --count django | |
- run: mypy django/ | |
lint-javascript: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2-beta | |
with: | |
node-version: '12' | |
- run: npm install | |
- run: npm run lint:js-diff | |
name: Check lint errors against blessed failures | |
- run: npm run jsdoc | |
name: Ensure that docs are valid | |
test-backend: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
# For PyPy use 'pypy-3.10'. It is disabled by default due to long build times. | |
python-version: ['3.9', '3.10'] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- run: bash scripts/travis/install_postgres.sh | |
- run: sudo apt-get install -y -qq $(< packagelist-ubuntu-apt.txt) | |
name: Install ubuntu requirements | |
- uses: actions/cache@v2 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-py_${{ matrix.python-version }}-${{ hashFiles('django/requirements*.txt') }} | |
- run: pip install ./django[test,async] coveralls | |
- run: bash scripts/travis/setup_database.sh | |
- run: bash scripts/travis/configure_catmaid.sh | |
- run: bash scripts/travis/configure_pypy_libs.sh | |
if: ${{ matrix.python-version == 'pypy3' }} | |
- run: django/projects/manage.py migrate --noinput | |
name: Apply migrations | |
- run: django/projects/manage.py makemigrations catmaid | |
name: Check migrations are up to date | |
- run: coverage run django/projects/manage.py test catmaid.tests | |
name: Run tests | |
test-frontend: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.10'] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: actions/setup-node@v2-beta | |
with: | |
node-version: '12' | |
- run: npm install | |
- run: bash scripts/travis/install_postgres.sh | |
- run: sudo apt-get install -y -qq $(< packagelist-ubuntu-apt.txt) | |
name: Install ubuntu requirements | |
- uses: actions/cache@v2 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-py_${{ matrix.python-version }}-${{ hashFiles('django/requirements.txt') }} | |
- run: pip install ./django | |
- run: bash scripts/travis/setup_database.sh | |
- run: bash scripts/travis/configure_catmaid.sh | |
- run: python django/projects/manage.py migrate --noinput | |
name: Apply migrations | |
- run: python django/projects/manage.py collectstatic --link --noinput | |
- run: | | |
sed -i 's/login_required(\([^)]*\))/\1/g' django/applications/catmaid/urls.py | |
python -Wall -Wignore::ImportWarning django/projects/manage.py runserver & | |
sleep 5 | |
name: Start development server | |
- run: npm run karma |