Repository navigation
ci: scan every main push and use shallow verify checkouts - #71
Conversation
Push and dispatch runs get their own concurrency group, so a third push no longer cancels a pending run whose range was never scanned. Pull request runs still cancel superseded ones. Verify jobs keep the default checkout depth; the scan deepens its own clone and the release workflow keeps full history.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
It changes CI concurrency semantics and the shallow-checkout behavior feeding the release pipeline, which carries operational/publishing implications that warrant a maintainer's final sign-off even though no defects were found.
Review effort: Balanced
Findings: None
What changed in this PR
This PR adjusts the CI workflow so that every push to main runs to completion (rather than having queued runs cancelled), ensuring the secret/workflow scan covers each pushed commit range, and switches the verify job to a shallow checkout. This fits the repo's delivery model where main pushes run verify plus the scan, and conventional commits trigger npm publishing via the shared release workflow.
I verified the key claims against the external actions pinned in this workflow:
- The
scanaction (plan.sh) deepens/unshallows its own clone using its own token, sofetch-depth: 0is no longer required for scanning the pushed range or full history on dispatch. - The
verifyscript (vp check, typecheck, pack, smoke, test,npm pack) and the test suite do not use git history, and release runs in a separate reusable workflow that keepsfetch-depth: 0. - The shared
frontend-release-npm.ymlserializes releases with its ownrelease-<repo>-mainconcurrency group (cancel-in-progress: false), so concurrentmainCI runs do not create a publish race.
Changes:
- Switch the concurrency
groupso pull requests group bygithub.ref(cancelling superseded runs) while push/dispatch group bygithub.run_id(each run completes independently). - Remove
fetch-depth: 0from theverifycheckout, relying on the scan action to deepen its own clone when needed.
| File | Description |
|---|---|
.github/workflows/ci.yml |
Per-run concurrency group for push/dispatch (per-ref for PRs) so every pushed range is scanned, and a shallow verify checkout since the scan deepens its own clone. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Every
mainpush now finishes its CI run, so the secret and workflow scan covers each pushed range, and verification checks out one commit instead of full history.CI-refs/heads/maingroup; a third push cancels the pending second run, whose range is never scannedverifycheckoutrelease-<repo>-maingroup, which keeps full history for semantic-release. That group holds one pending release, so if three pushes land within one release and the older verify finishes last, semantic-release skips the stale commit and the newer commits publish on the next push.actionlint1.7.12 andzizmor1.29.0 report nothing on this branch locally, and the firstmainrun after merge audits the change.verifyand the release job onmain; aci:commit publishes nothing.Written by an agent (Claude Code, Claude Opus 5.5)