dj-database-url/.github/workflows/test.yml
Gabriel Barrantes e8fe5666b2 build: switch to pyproject.toml for package building
Use the pyproject.toml configuration instead of setup.py for building
the package. This modernizes the build process, ensures better
compatibility with PEP tools, and simplifies dependency
management.
2025-09-04 15:33:48 -06:00

57 lines
1.6 KiB
YAML

name: test
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
django-version: ["4.2", "5.1"]
exclude:
# Python 3.11 is not compatible with 3.2
- python-version: "3.11"
django-version: "3.2"
- python-version: "3.12"
django-version: "3.2"
- python-version: "3.13"
django-version: "3.2"
# django 5.x is not compatible with python 3.9 or lower
- python-version: "3.9"
django-version: "5.1"
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install dependencies
run: |
pip install --upgrade pip setuptools wheel
pip install -r requirements.txt
pip install "Django~=${{ matrix.django-version }}.0" .
- name: Run type checking
run: |
python -m mypy dj_database_url
python -m pyright dj_database_url
- name: Run Tests
run: |
echo "$(python --version) / Django $(django-admin --version)"
coverage run --source=dj_database_url --branch -m unittest discover -v
coverage report
coverage xml
- uses: codecov/codecov-action@v4
- name: Check types installation
run: |
pip install .
cd tests
python -m mypy .
python -m pyright .