Skip to content

fix: publish User as the reference type of Reference[User[EnterpriseU… #765

fix: publish User as the reference type of Reference[User[EnterpriseU…

fix: publish User as the reference type of Reference[User[EnterpriseU… #765

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
strategy:
fail-fast: false
matrix:
python:
- '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@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
with:
version: "0.12.17"
python-version: ${{ matrix.python }}
enable-cache: true
- 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@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
with:
version: "0.12.17"
python-version: "3.14"
enable-cache: true
- name: Run tests
run: uv run pytest --cov --cov-fail-under=100
downstream-tests:
name: py${{ matrix.python }} ${{ matrix.downstream }} downstream unit tests
if: ${{ !startsWith(github.head_ref, 'renovate/') }}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
python:
- '3.14'
- '3.13'
- '3.12'
- '3.11'
downstream:
- scim2-client
- scim2-server
- scim2-cli
- scim2-tester
steps:
- name: Checkout upstream pyproject
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install uv
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
with:
version: "0.12.17"
python-version: ${{ matrix.python }}
enable-cache: true
- name: Checkout downstream pyproject
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: python-scim/${{ matrix.downstream }}
path: ${{ matrix.downstream }}
persist-credentials: false
- name: Install downstream test environment
run: |
cd ${{ matrix.downstream }}
uv sync --all-extras
uv pip install --upgrade --force-reinstall ..
- name: Run downstream tests
run: |
cd ${{ matrix.downstream }}
uv run --no-sync pytest --showlocals
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@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
with:
version: "0.12.17"
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@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
with:
version: "0.12.17"
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@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
with:
version: "0.12.17"
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