fix: float suite refs on @v1 + keep v1 lightweight + document the real root cause#92
Conversation
…l root cause (TODO 1) The org-wide Security Suite outage (v1.27-v1.31) was NOT caused by floating reusable refs (that was a red herring). Root cause: the `v1` tag became an ANNOTATED tag object (my `git tag -a` releases got copied into v1 by the release workflow), and the ruleset 'require workflows' injector cannot resolve an annotated v1 -> it silently produces no run and the required check hangs at 'Expected' forever. Fixed live by recreating v1 lightweight. This restores the no-treadmill floating setup and guards against recurrence: - security-suite.yml + reusable-security-suite.yml: revert reusable refs to @v1 (floating is fine; the .pinact.yml + zizmor.yml @v1 exemptions cover them). - reusable-release-auto-on-tag.yml: peel moved tags to the commit (git tag -f v1 "$TAG^{commit}") so v1/minor are ALWAYS lightweight, even if a release tag is annotated. - release-auto-on-tag.yml: float the caller on @v1 so it picks up the peel fix. - docs/workflows/security-suite.md (new) + workflows.md callout + mkdocs nav + reusable_workflows Serena memory: document that v1 MUST be lightweight, the single-release upgrade flow, post-release verification, and keep-.github-out- of-targets. Corrects the earlier (wrong) 'SHA-pin the whole tree' guidance. Supersedes #91 (which misattributed the cause to reusable refs).
|
Important Review skippedNo new commits to review since the last review. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughThis PR migrates several GitHub Actions workflows from pinned commit SHAs to floating ChangesFloat on v1 and lightweight tag enforcement
Estimated code review effort: 2 (Simple) | ~12 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
🛡️ Security suite
Note All security checks passed. Updated for |
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/workflows/security-suite.md`:
- Around line 17-19: The fenced code block in the security-suite workflow
reference is missing a language identifier, triggering the MD040 markdown lint
rule. Update the fenced block in the documentation so it uses an explicit
language tag, using the existing workflow path text inside the block and keeping
the content unchanged. Locate the block by the workflow reference string in the
documentation and add the appropriate fence label to make the snippet valid
markdown.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 4ccc9c81-233f-4099-ae56-7a53c2c611d0
📒 Files selected for processing (8)
.github/workflows/release-auto-on-tag.yml.github/workflows/reusable-release-auto-on-tag.yml.github/workflows/reusable-security-suite.yml.github/workflows/security-suite.yml.serena/memories/reusable_workflows.mddocs/workflows.mddocs/workflows/security-suite.mdmkdocs.yml
Restores the no-treadmill floating setup now that we know the real cause of the org-wide Security Suite outage (v1.27–v1.31), and guards against recurrence + documents it.
Root cause (corrected)
The outage was not the floating reusable refs (that was a red herring the SHA-pinning "fixed" without fixing). The
v1tag became an annotated tag object — mygit tag -areleases got copied intov1by the release workflow — and the ruleset "require workflows" injector can't resolve an annotatedv1, so it silently produces no run and the required check hangs at "Expected" forever on every consumer PR. Fixed live by recreatingv1lightweight (the suite immediately injected on infra-cdk#151).Changes
@v1insecurity-suite.yml+reusable-security-suite.yml(floating is fine;.pinact.yml/zizmor.yml@v1exemptions cover them). → single-release upgrades again, no chain-bump.reusable-release-auto-on-tag.yml: peel to commit (git tag -f v1 "$TAG^{commit}") so movedv1/minor tags are always lightweight, even if a release tag is annotated. Durable guard against recurrence.release-auto-on-tag.yml: float the caller on@v1so it picks up the peel fix.docs/workflows/security-suite.md(thev1-must-be-lightweight rule, single-release flow, post-release verification, keep-.github-out-of-targets), aworkflows.mdcallout, mkdocs nav, and thereusable_workflowsSerena memory. Corrects the earlier wrong "SHA-pin the whole tree" guidance.Supersedes #91
#91 documented the wrong cause; closing it in favor of this.
After merge
Cut v1.32.0 (lightweight tag!) → confirm
v1stays lightweight and the suite still injects on a consumer PR.Validation:
pinact --checkexit 0,zizmorclean, no em-dashes.Summary by CodeRabbit
Bug Fixes
v1reference, helping required checks run reliably and avoiding stuck statuses.Documentation