Files
2026-07-13 13:05:14 +08:00

86 lines
2.0 KiB
YAML

name: "Python Checks: Lints & Docs"
on:
workflow_call:
inputs:
CONCURRENCY:
required: true
type: string
concurrency:
group: ${{ inputs.CONCURRENCY }}-checks_python
cancel-in-progress: true
env:
PYTHON_VERSION: "3.10"
defaults:
run:
shell: bash --noprofile --norc -euo pipefail {0}
permissions:
contents: "read"
id-token: "write"
jobs:
# ---------------------------------------------------------------------------
py-lints:
name: Python lints (ruff, mypy, …)
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || '' }}
- uses: prefix-dev/setup-pixi@v0.10.0
with:
pixi-version: v0.71.3
- name: Python format check
run: pixi run py-fmt-check
- name: Lint Python
run: pixi run py-lint
- name: Notebook strip check
run: pixi run nb-strip-check
# ---------------------------------------------------------------------------
py-test-notebook:
name: Notebook widget unit tests
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || '' }}
- uses: prefix-dev/setup-pixi@v0.10.0
with:
pixi-version: v0.71.3
- name: Run notebook tests
run: pixi run py-test-notebook
# ---------------------------------------------------------------------------
py-test-docs:
name: Test Python Docs
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || '' }}
- uses: prefix-dev/setup-pixi@v0.10.0
with:
pixi-version: v0.71.3
- name: Build via mkdocs
run: |
pixi run uv run --group docs mkdocs build --strict -f rerun_py/mkdocs.yml