name: Test

on: [push, pull_request]

jobs:
  build:
    name: build (Python ${{ matrix.python-version }}, Django ${{ matrix.django-version }})
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      max-parallel: 5
      matrix:
        python-version: ['3.7', '3.8', '3.9', '3.10']
        django-version: ['2.2', '3.1', '3.2', 'main']

    steps:
    - uses: actions/checkout@v2

    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python-version }}
        cache: pip
        cache-dependency-path: |
          setup.py
          tox.ini

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        python -m pip install --upgrade tox tox-gh-actions

    - name: Tox tests
      run: |
        tox -v
      env:
        DJANGO: ${{ matrix.django-version }}

    - name: Upload coverage
      uses: codecov/codecov-action@v1
      with:
        name: Python ${{ matrix.python-version }}

name: Test

on: [push, pull_request]

jobs:
  build:
    name: build (Python ${{ matrix.python-version }}, Django ${{ matrix.django-version }})
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      max-parallel: 5
      matrix:
        python-version: ['3.7', '3.8', '3.9', '3.10']
        django-version: ['2.2', '3.1', '3.2', 'main']
        exclude:
          # No such tox envs:
          - {python-version: '3.7', django-version: 'main'}
          - {python-version: '3.10', django-version: '2.2'}
          - {python-version: '3.10', django-version: '3.1'}
          - {python-version: '3.10', django-version: '3.2'}

    steps:
    - uses: actions/checkout@v2

    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python-version }}
        cache: pip
        cache-dependency-path: |
          setup.py
          tox.ini

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        python -m pip install --upgrade tox tox-gh-actions

    - name: Tox tests
      run: |
        tox -v
      env:
        DJANGO: ${{ matrix.django-version }}

    - name: Upload coverage
      uses: codecov/codecov-action@v1
      with:
        name: Python ${{ matrix.python-version }}

Exclude missing tox envs from CI
Exclude missing tox envs from CI
