Split CI lint stage into parallel jobs

ruff check, ruff format check, ty check, and pytest now run as four
independent jobs instead of one sequential lint job gating test —
faster wall-clock CI since none of these checks depend on each other.
build still waits on all four before bumping/publishing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-23 14:38:46 +02:00
parent faac19edf3
commit 9162ba7ae0
+23 -4
View File
@@ -7,8 +7,8 @@ name: CI
branches: [master]
jobs:
lint:
name: Lint & type check
ruff-check:
name: Lint (ruff check)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -17,12 +17,31 @@ jobs:
enable-cache: true
- run: uv sync --extra cpu --extra dev
- run: uv run ruff check .
ruff-format:
name: Format (ruff format)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- run: uv sync --extra cpu --extra dev
- run: uv run ruff format --check .
type-check:
name: Type check (ty)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- run: uv sync --extra cpu --extra dev
- run: uv run ty check .
test:
name: Tests
needs: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -34,7 +53,7 @@ jobs:
build:
name: Bump version, build & publish wheel
needs: [lint, test]
needs: [ruff-check, ruff-format, type-check, test]
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
runs-on: ubuntu-latest
steps: