Skip to content

tests

tests #26

Workflow file for this run

name: tests
permissions:
contents: read
on:
push:
branches:
- master
pull_request:
schedule:
- cron: '0 8 * * *'
jobs:
test:
name: 'Python ${{ matrix.python-version }} Django ${{ matrix.django-version }}'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.13", "3.12", "3.11"]
django-version: ["5.2", "5.1", "4.2"]
exclude:
- python-version: "3.13"
django-version: "4.2"
steps:
- name: Checkout
run: |
echo $GITHUB_REF $GITHUB_SHA
git clone https://github.com/$GITHUB_REPOSITORY.git .
git fetch origin $GITHUB_SHA:temporary-ci-branch
git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
- name: 'Set up Python ${{ matrix.python-version }}'
uses: actions/setup-python@main
# https://github.com/marketplace/actions/setup-python
with:
python-version: '${{ matrix.python-version }}'
cache: 'pip' # caching pip dependencies
cache-dependency-path: '**/requirements.*.txt'
- name: Install uv and set the Python version
# https://docs.astral.sh/uv/guides/integration/github/#multiple-python-versions
uses: astral-sh/setup-uv@main
with:
python-version: ${{ matrix.python-version }}
- name: 'Install'
run: |
make install
make playwright-install
make nox-list
- name: 'Run tests with Python ${{ matrix.python-version }} Django ${{ matrix.django-version }}'
env:
PYTHONUNBUFFERED: 1
PYTHONWARNINGS: always
run: |
.venv/bin/nox -s "tests-${{ matrix.python-version }}(django='${{ matrix.django-version }}')"
- name: 'Upload coverage report'
uses: codecov/codecov-action@main
# https://github.com/marketplace/actions/codecov
with:
fail_ci_if_error: false
verbose: true