Repository navigation
ci: scan every main push and use shallow verify checkouts - #62
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 release-triggering CI concurrency and checkout depth, which are operationally sensitive and warrant a final human review despite the logic verifying as correct.
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 (ensuring the push-time secret/workflow scan covers each pushed commit range) and makes the verify jobs check out a shallow (default-depth) clone instead of full history. Previously all main pushes shared one concurrency group (CI-refs/heads/main), so with cancel-in-progress: false a third queued push could cancel the pending second run and leave its range unscanned. The change gives each non-PR run a unique concurrency group keyed on github.run_id, while pull-request runs keep ref-based grouping and remain cancellable. It is a CI-only change and publishes nothing on merge (ci: type).
Changes:
- Concurrency group now uses
github.refforpull_requestevents and the uniquegithub.run_idfor push/workflow_dispatch, so main pushes no longer cancel one another. - Removed
fetch-depth: 0from theverifyandverify-consumer-surfacecheckouts; the push-time scan action deepens its own shallow clone as needed, and the release reusable workflow still checks out full history for semantic-release.
| File | Description |
|---|---|
.github/workflows/ci.yml |
Keys the concurrency group on run_id for non-PR events so every main push is scanned, and drops fetch-depth: 0 from both verify checkouts to use shallow clones. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
🎉 This PR is included in version 3.0.4 🎉 The release is available on: Your semantic-release bot 📦🚀 |
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 scannedverifyandverify-consumer-surfacecheckoutsrelease-<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)