docs: Security Suite required-workflow maintenance (SHA-pin the whole tree)#91
docs: Security Suite required-workflow maintenance (SHA-pin the whole tree)#91dkastl wants to merge 1 commit into
Conversation
…the whole tree) Capture the hard-won constraint so the next release doesn't reintroduce the org-wide breakage: the ruleset 'require workflows' injector runs the suite only when its ENTIRE reusable tree is SHA-pinned; a moving @v1 anywhere makes the required check hang silently at 'Expected' on every consumer PR. - New docs/workflows/security-suite.md: enforcement model, the SHA-pinning rule, the two-release chain-bump procedure, post-release verification, and why geolonia/.github must stay out of the ruleset targets. - Link it from docs/workflows.md (+ an exception callout) and mkdocs nav. - .serena/memories/reusable_workflows.md: add the suite, a SPECIAL CASE section (the generic 'move v1 forward' is unsafe here), and a troubleshooting entry.
|
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 adds documentation for a new "Security Suite" org-wide reusable workflow, including a dedicated doc page, an entry in the workflows index, mkdocs navigation, and maintainer memory notes covering SHA-pinning requirements, a two-release update process, and troubleshooting guidance. ChangesSecurity Suite documentation
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related issues
Possibly related PRs
🚥 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.
|
|
Superseded by the float-refs PR: #91 misattributed the outage to floating reusable refs. The real cause was an annotated |
…l root cause (TODO 1) (#92) 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).
Writes down the constraint we just learned the hard way, so the next release doesn't re-break the org-wide gate.
The ruleset "require workflows" injector runs the Security Suite only when its entire reusable tree is SHA-pinned; a moving
@v1anywhere makes the required check hang silently at "Expected" on every consumer PR (the v1.27–v1.29 regression, #88/#89/#90).docs/workflows/security-suite.md: enforcement model, the SHA-pinning rule (with the tree diagram), the two-release chain-bump release procedure, post-release verification (re-trigger a consumer PR —@v1moving is not proof), and whygeolonia/.githubmust stay out of the ruleset targets.docs/workflows.md(+ an exception callout) and added to the mkdocs nav..serena/memories/reusable_workflows.md: adds the suite, a SPECIAL CASE section warning that the generic "movev1forward" is unsafe for this tree, and a troubleshooting entry for the silent "Expected" hang.No code changes. No em-dashes.
Summary by CodeRabbit