Skip to content

ci: always run required checks on PRs; fix stale Test check name#154

Merged
felixgeelhaar merged 1 commit into
mainfrom
fix/ci-path-filter-required-checks
Jul 8, 2026
Merged

ci: always run required checks on PRs; fix stale Test check name#154
felixgeelhaar merged 1 commit into
mainfrom
fix/ci-path-filter-required-checks

Conversation

@felixgeelhaar

Copy link
Copy Markdown
Collaborator

Two coupled gaps let PRs sit BLOCKED and forced --admin merges all through the pricing arc.

1. Doc-only PRs skipped CI → required checks never reported

ci.yml used paths-ignore: ['**.md', 'docs/**', 'LICENSE'] on both triggers, so a PR touching only those paths (a CHANGELOG-only release PR) skipped CI entirely — the required Lint / Test / Bench gate checks never reported and the PR stayed BLOCKED ("Expected — waiting for status"). The v0.41.0 release PR (#153) hit exactly this and merged via --admin.

Fix: drop paths-ignore from the pull_request trigger (PRs always run CI and report), keep it on push so direct main pushes (memory/docs/CHANGELOG) stay cheap.

Note: pricing.yaml / testdata are .yaml/.json, never matched **.md, so catalog edits already got full CI — the earlier memory note that they skipped CI was inaccurate. The real gap was doc-only PRs.

2. Stale required check name → every merge needed --admin

Branch protection requires the context Test (ubuntu-latest), but the test job had lost its OS matrix and reported bare Test, so the required context was never satisfied on any PR. Restore a single-OS matrix (os: [ubuntu-latest]) so the job reports Test (ubuntu-latest) again (extends cleanly if more OSes are added).

Self-validation

This PR touches .github/, so it runs CI and should be the first PR to actually satisfy the Test (ubuntu-latest) required context — i.e. it should go green and be mergeable without --admin. That's the proof the fix works.

https://claude.ai/code/session_01QKTcmXFTKoTQr7mB3HCuHZ

Two coupled gaps let PRs sit BLOCKED and forced --admin merges:

1. `paths-ignore: ['**.md', ...]` skipped CI entirely for a doc/CHANGELOG-only
   PR, so the required checks (Lint, Test, Bench gate) never reported and the PR
   stayed BLOCKED ("Expected — waiting for status"). The v0.41.0 release PR hit
   exactly this. Drop paths-ignore from the `pull_request` trigger so PRs always
   run CI and report; keep it on `push` so direct main pushes (memory/docs/
   CHANGELOG) stay cheap. (pricing.yaml / testdata are not ignored, so catalog
   edits already got CI — the memory note that they skipped CI was inaccurate.)

2. Branch protection requires the check "Test (ubuntu-latest)", but the test job
   had dropped its OS matrix and reported bare "Test", so the required context
   was never satisfied — every merge needed --admin. Restore a single-OS matrix
   so the job reports "Test (ubuntu-latest)" again.

This PR touches .github/, so it runs CI and should be the first to satisfy the
required "Test (ubuntu-latest)" context — mergeable without --admin.

Claude-Session: https://claude.ai/code/session_01QKTcmXFTKoTQr7mB3HCuHZ
@felixgeelhaar felixgeelhaar merged commit e6c0de6 into main Jul 8, 2026
10 checks passed
@felixgeelhaar felixgeelhaar deleted the fix/ci-path-filter-required-checks branch July 8, 2026 08:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant