Skip to content

Merge branch 'main' into bartosz/skip-local-inventory #576

Merge branch 'main' into bartosz/skip-local-inventory

Merge branch 'main' into bartosz/skip-local-inventory #576

Workflow file for this run

name: ci
on:
push:
pull_request:
branches:
- main
defaults:
run:
shell: bash
env:
LANG: en_US.utf-8
LC_ALL: en_US.utf-8
PYTHONIOENCODING: UTF-8
PYTHON_VERSIONS: ""
jobs:
quality:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Setup uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: pyproject.toml
- name: Install dependencies
run: make setup
- name: Check if the documentation builds correctly
run: make check-docs
- name: Check the code quality
run: make check-quality
- name: Check if the code is correctly typed
run: make check-types
- name: Check for breaking changes in the API
run: make check-api
- name: Store objects inventory for tests
uses: actions/upload-artifact@v4
with:
name: objects.inv
path: site/objects.inv
exclude-test-jobs:
runs-on: ubuntu-latest
outputs:
jobs: ${{ steps.exclude-jobs.outputs.jobs }}
steps:
- id: exclude-jobs
run: |
if ${{ github.repository_owner == 'pawamoy-insiders' }}; then
echo 'jobs=[
{"os": "macos-latest"},
{"os": "windows-latest"},
{"python-version": "3.10"},
{"python-version": "3.11"},
{"python-version": "3.12"},
{"python-version": "3.13"},
{"python-version": "3.14"}
]' | tr -d '[:space:]' >> $GITHUB_OUTPUT
else
echo 'jobs=[
{"os": "macos-latest", "resolution": "lowest-direct"},
{"os": "windows-latest", "resolution": "lowest-direct"}
]' | tr -d '[:space:]' >> $GITHUB_OUTPUT
fi
tests:
needs:
- quality
- exclude-test-jobs
strategy:
max-parallel: 4
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
resolution:
- highest
- lowest-direct
exclude: ${{ fromJSON(needs.exclude-test-jobs.outputs.jobs) }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.python-version == '3.14' }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Setup uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: pyproject.toml
cache-suffix: ${{ matrix.resolution }}
- name: Install dependencies
env:
UV_RESOLUTION: ${{ matrix.resolution }}
run: make setup
- name: Download objects inventory
uses: actions/download-artifact@v4
with:
name: objects.inv
path: site/
- name: Run the test suite
run: make test
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy