Repository navigation
Fail the check when a pull request removes the pnpm project - #7
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
Limit details: You’ve used all 10 included reviews currently available. 📝 WalkthroughWalkthroughThe workflow now compares the pull request’s required files and Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The check remains ready to merge: it runs for complete pnpm projects, fails when a pull request removes required setup, and skips repositories without that setup. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 1 system. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
The organization check used to pass with "Nothing to run" when package.json, pnpm-lock.yaml, or the check script was missing, so a pull request that deleted one of them silently disabled validation. The base branch now decides: when it has all three, the pull request's merge result must keep all three or the check fails. The checkout fetches depth 2 so the step can read the merge commit's first parent, which is the base branch and cannot be changed by the pull request. Repositories that are not pnpm projects with a check script on the base branch still pass. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
c6a551b to
a16fb0b
Compare
What changed
The required Check workflow no longer passes silently when a pull request deletes
package.json,pnpm-lock.yaml, or thecheckscript.fetch-depth: 2, so the merge commit's parents are available. The first parent is the base branch.persist-credentials: false, the frozen install with--ignore-scripts --ignore-pnpmfile, the env vars, the timeout, and the CloudCannon auto-merge job.Why the base branch, not an allowlist
The base branch cannot be changed by the pull request, and it only got its contents through PRs that passed this check, so it is trusted input. This design needs no list to maintain: a repository locks in as soon as its main branch has all three, and a new non-pnpm repository passes without an edit here. An allowlist would also publish private client repository names in this public repository.
How it was verified
.github,agents,chaletsinfriesland,liquid,overnachtenzuidlaren,positiefboekhouden,docduc,gregoplatform,mandendeco,vanrupsnaarvlinderlack one of the three). None would fail.package.json,pnpm-lock.yaml, or the check script, so none would fail.actionlint1.7.12 withshellcheck0.11.0: clean.package.json, the check script, or breakingpackage.jsonfails; README changes, non-pnpm bases, partial setups, and adding a full pnpm project behave as before.🤖 Generated with Claude Code
Summary by CodeRabbit