ci: always run required checks on pull requests - #206
Conversation
validate-plugin-manifests and contract-test are required status checks on main, but their pull_request triggers were path-filtered. A path-filtered required check never reports on PRs outside its paths, so docs-only PRs (and the weekly coverage-bot PRs) were permanently unmergeable without an admin bypass. Drop the pull_request paths filters so both jobs always run and report; both finish in under a minute. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThe pull-request path filters were removed from the contract-test and plugin-manifest validation workflows. Both workflows now run for every pull request. The changelog documents this change. ChangesRequired CI check coverage
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PR Summary by QodoCI: always run required checks on all pull requests
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
Greptile SummaryThis PR fixes a GitHub Actions branch-protection deadlock: both required status checks (
Confidence Score: 5/5
|
| Filename | Overview |
|---|---|
| .github/workflows/contract-test.yml | Removed paths: filter from the pull_request trigger so this required status check now reports on every PR; push trigger (branches: [main], no paths filter) is unchanged. |
| .github/workflows/validate-plugin-manifests.yml | Removed paths: filter from the pull_request trigger only; the push trigger retains its paths: filter (selective main-branch runs), giving the correct asymmetric behavior. |
| CHANGELOG.md | Added a well-placed "Changed" entry under [Unreleased] describing the required-check fix; changelog structure (Added → Changed → Removed) follows Keep a Changelog conventions. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[PR opened] --> B{Does PR touch\nworkflow paths?}
subgraph BEFORE["Before this PR"]
B -->|Yes| C[Workflow runs\nand reports ✅]
B -->|No| D[Workflow skipped\n— no status reported ❌]
D --> E[Required check\nnever satisfied]
E --> F[PR blocked\nforever 🚫]
F --> G[Admin bypass\nneeded]
end
subgraph AFTER["After this PR"]
B2[PR opened] --> C2[Workflow always\nruns on every PR ✅]
C2 --> D2[Required check\nreports pass/fail]
D2 --> E2[PR merges normally\nonce approved ✅]
end
Reviews (2): Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." | Re-trigger Greptile
ethanolivertroy
left a comment
There was a problem hiding this comment.
Approving — CI policy fix, all checks green. Merging per maintainer directive.
…d-checks Co-authored-by: Ethan Troy <ethanolivertroy@users.noreply.github.com>
Why
Branch protection on
mainrequires two status checks: Validate plugin and marketplace manifests and Validate contract fixtures against every schema. Both workflows hadpaths:filters on theirpull_requesttriggers, so on any PR outside those paths the checks never run, never report, and GitHub blocks the merge forever. Every docs-only PR (#199, #200, #204) and the coverage bot's weekly PR (#205) needed an admin bypass to land today.What changed
paths:filter from thepull_requesttrigger in.github/workflows/validate-plugin-manifests.ymland.github/workflows/contract-test.yml, with a comment explaining why it must stay off.pushtriggers are untouched.Both jobs finish in under a minute, so the cost of running them on every PR is negligible — and a marketplace/manifest regression can technically ride in on any PR, so unconditional validation is also strictly safer.
After this merges
Verified
Validate plugin and marketplace manifests,Validate contract fixtures against every schema) are jobname:fields, which this PR does not touch — branch protection keeps matching.🤖 Generated with Claude Code
Summary by CodeRabbit
Chores
Documentation