mirror of
https://github.com/jazzband/dj-database-url.git
synced 2026-05-08 23:44:49 +00:00
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.
57 lines
1.6 KiB
YAML
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 .
|