name: test 'on': [push, pull_request, workflow_dispatch] jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: [3.6, 3.7, 3.8, 3.9] django-version: - 'Django~=2.2.0' - 'Django~=3.1.0' - 'Django~=3.2.0' steps: - uses: actions/checkout@v2 - name: Set up python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install Poetry uses: snok/install-poetry@v1 with: virtualenvs-create: true virtualenvs-in-project: true installer-parallel: true - name: Set up cache uses: actions/cache@v2.1.6 with: path: .venv key: venv-${{ matrix.python-version }}-${{ hashFiles('poetry.lock') }} - name: Install dependencies run: | poetry install poetry run pip install -U pip poetry run pip install -U "${{ matrix.django-version }}" - name: Run tests run: | poetry run pytest poetry check poetry run pip check - name: Upload coverage to Codecov uses: codecov/codecov-action@v2 with: file: ./coverage.xml