django-analytical/.github/workflows/test.yml
Peter Bittner a021e07e15
Improve GHA test jobs, move tool config to pyproject.toml (#202)
* Move Tox tool config settings to pyproject.toml
* Restore older Bandit version for predictive setup
   Bandit UX is seriously broken. Unfortunately, only <1.6 works predictably.
* Exclude unsupported Python/Django combinations
   Use a more self-explanatory build job name for tests
* Help pytest find the Django test project settings
* Use clean range for Django 4.0
* Keep load on the GHA runners low, use newer Python for checks
2022-02-04 19:04:03 +01:00

67 lines
1.6 KiB
YAML

name: Test
on:
pull_request:
branches:
- master
push:
branches:
- master
jobs:
python-django:
runs-on: ubuntu-latest
strategy:
max-parallel: 5
matrix:
python-version:
- '3.6'
- '3.7'
- '3.8'
- '3.9'
- '3.10'
django-version:
- '2.2'
- '3.2'
- '4.0'
exclude:
- { django-version: '2.2', python-version: '3.10' }
- { django-version: '4.0', python-version: '3.6' }
- { django-version: '4.0', python-version: '3.7' }
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Get pip cache dir
id: pip-cache
run: |
echo "::set-output name=dir::$(pip cache dir)"
- name: Cache
uses: actions/cache@v2
with:
path: ${{ steps.pip-cache.outputs.dir }}
key:
${{ matrix.python-version }}-v1-${{ hashFiles('**/setup.py') }}
restore-keys: |
${{ matrix.python-version }}-v1-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade tox tox-gh-actions
- name: Tox tests (Python ${{ matrix.python-version }}, Django ${{ matrix.django-version }})
run: tox
env:
DJANGO: ${{ matrix.django-version }}
- name: Upload coverage
uses: codecov/codecov-action@v1
with:
name: Python ${{ matrix.python-version }}