Skip to content

[pull] master from Corvia:master #499

[pull] master from Corvia:master

[pull] master from Corvia:master #499

Workflow file for this run

---
name: test
'on':
pull_request:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
django-version: ['4.2', '5.0']
exclude:
# Exclude Python 3.8 and 3.9 with Django 5.0
- python-version: '3.8'
django-version: '5.0'
- python-version: '3.9'
django-version: '5.0'
env:
DJANGO_DATABASE_USER: django
DJANGO_DATABASE_PASSWORD: passwd123
DJANGO_DATABASE_NAME: db
DJANGO_DATABASE_HOST: 127.0.0.1
services:
postgres:
image: postgres:16
env:
POSTGRES_USER: ${{ env.DJANGO_DATABASE_USER }}
POSTGRES_PASSWORD: ${{ env.DJANGO_DATABASE_PASSWORD }}
ports:
- 5432/tcp
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v4
- name: Set up python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: 1.8.2
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
- name: Set up cache
uses: actions/cache@v4
with:
path: .venv
key: venv-${{ matrix.python-version }}-${{ hashFiles('poetry.lock') }}
- name: Install dependencies
run: |
poetry install
poetry run pip install -U pip
poetry run pip install -U "django==${{ matrix.django-version }}.*"
- name: Run tests
run: |
poetry run pytest
poetry check
poetry run pip check
poetry run rstfmt --check .
env:
DJANGO_DATABASE_PORT: ${{ job.services.postgres.ports[5432] }}
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
file: ./coverage.xml