Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,97 @@ jobs:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
- run: just pkg-pre-commit

# === DO_NOT_EDIT: path-sync on ===
on:
pull_request:
types: [opened, reopened, synchronize]
push:
branches:
- "**"
# === OK_EDIT: path-sync on ===
# === DO_NOT_EDIT: path-sync jobs ===
jobs:
pre_job:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: 'same_content_newer'

lint:
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
- run: just lint

fmt:
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
- run: just fmt-check

type-check:
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
- run: just type-check

test:
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.13', '3.14']
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
with:
python-version: ${{ matrix.python-version }}
- run: just test
- run: just cov-full
- name: Upload coverage to Codecov
if: matrix.python-version == '3.13'
uses: codecov/codecov-action@v5
with:
# Don't auto-search for coverage files, use explicit path instead
disable_search: true
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml

vulture:
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
- run: just vulture

pkg-pre-commit:
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
- run: just pkg-pre-commit
# === OK_EDIT: path-sync jobs ===
# Repo-specific jobs: add YAML here (same 2-space indent as pre_job, lint, etc.).

# === DO_NOT_EDIT: path-sync jobs ===
# === OK_EDIT: path-sync jobs ===