Skip to content

Generate the tables and the mappings of a provider #23

Generate the tables and the mappings of a provider

Generate the tables and the mappings of a provider #23

Workflow file for this run

---
name: tests
on:
push:
branches:
- main
- '*.*.*'
pull_request:
branches:
- main
- '*.*.*'
env:
UV_LOCKED: 1
UV_PYTHON_PREFERENCE: only-managed
permissions:
contents: read
jobs:
tests:
name: py${{ matrix.python }} unit tests
runs-on: ubuntu-24.04
continue-on-error: ${{ matrix.python == '3.15' }}
strategy:
fail-fast: false
matrix:
python:
- '3.15'
- '3.14'
- '3.13'
- '3.12'
- '3.11'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install uv
uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
with:
version: "0.12.13"
python-version: ${{ matrix.python }}
enable-cache: true
- name: Put the PostgreSQL server of the runner in the PATH
run: ls -d /usr/lib/postgresql/*/bin | tail -n 1 >> "$GITHUB_PATH"
- name: Run tests
run: uv run pytest --showlocals
coverage:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install uv
uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
with:
version: "0.12.13"
python-version: "3.14"
enable-cache: true
- name: Put the PostgreSQL server of the runner in the PATH
run: ls -d /usr/lib/postgresql/*/bin | tail -n 1 >> "$GITHUB_PATH"
- name: Run tests
run: uv run pytest --cov --cov-fail-under=100
minversions:
name: minimum dependency versions
runs-on: ubuntu-24.04
env:
UV_RESOLUTION: lowest-direct
UV_LOCKED: 0
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install uv
uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
with:
version: "0.12.13"
python-version: "3.11"
enable-cache: true
- name: Install minimum dependencies
run: uv sync
- name: Run tests
run: uv run pytest --showlocals
style:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install uv
uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
with:
version: "0.12.13"
python-version: "3.14"
enable-cache: true
- name: Run style checks
run: uv run prek run --all-files --show-diff-on-failure
doc:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install uv
uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
with:
version: "0.12.13"
python-version: "3.14"
enable-cache: true
- name: Install dependencies
run: uv sync --group doc
- run: uv run sphinx-build -W --keep-going -b html doc build/sphinx/html
all-checks:
if: always()
needs: [tests, coverage, minversions, style, doc]
runs-on: ubuntu-24.04
steps:
- name: Fail if a needed job did not succeed
if: >-
contains(needs.*.result, 'failure')
|| contains(needs.*.result, 'cancelled')
|| contains(needs.*.result, 'skipped')
run: exit 1