name: test on: [push, pull_request] jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] django-version: ["3.2", "4.0", "4.1"] exclude: # Python 3.7 is not compatible with 4.0 - python-version: "3.7" django-version: "4.0" # Python 3.7 is not compatible with 4.1 - python-version: "3.7" django-version: "4.1" # Python 3.11 is not compatible with 3.2 - python-version: "3.11" django-version: "3.2" # Python 3.11 is not compatible with 4.0 - python-version: "3.11" django-version: "4.0" steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} cache: 'pip' - name: Install dependencies run: | pip install -r requirements.txt pip install "Django~=${{ matrix.django-version }}.0" . - name: Run mypy run: | python -m mypy dj_database_url.py - name: Run Tests run: | echo "$(python --version) / Django $(django-admin --version)" coverage run --source=dj_database_url --branch -m unittest discover coverage report coverage xml - uses: codecov/codecov-action@v3