fix(release): authenticate stable tag push - #276
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughFINALIZE now validates ChangesStable tag authentication
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: 🔵 Low · up to The change enables the stable release job to push validated tags using a narrowly scoped token without persisting checkout credentials. It is mergeable with owner awareness that the stable-release environment’s required approval controls should be confirmed before relying on its contents:write authority. Sequence Diagram(s)sequenceDiagram
participant FINALIZE
participant Git
participant GitHub
FINALIZE->>FINALIZE: Validate GITHUB_TOKEN
FINALIZE->>Git: Run atomic push with one-shot extraheader
Git->>GitHub: Push tag refs with Basic authentication
GitHub-->>Git: Accept or reject tag push
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
Full details: Linked Issues checkExplanation The PR addresses the linked issue's stable FINALIZE authentication, fail-closed behavior, publication safeguards, and regression coverage requirements [ Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 3 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Closes #268
Summary
GITHUB_TOKEN.Failure Evidence
Exact-current PREFLIGHT passed: https://github.com/devx-op/effectify/actions/runs/33383620259
FINALIZE then failed before any public mutation: https://github.com/devx-op/effectify/actions/runs/33383831937
All seven stable tags, GitHub Releases, npm versions, and
latestupdates remained absent. The finalizer's checkout intentionally usedpersist-credentials: false, but itsgit push --atomichad no explicit authentication.Changes
scripts/release-finalize-stable.mjsGITHUB_TOKENbefore tag mutation and apply one-shot Basic auth only to the atomic push.scripts/release-finalize-stable.test.mjsscripts/release-policy-contract.test.mjs.github/SETUP.mdTest Plan
node --test scripts/release-finalize-stable.test.mjs— 93 passed, 0 failed.node --test scripts/release-policy-contract.test.mjs— 30 passed, 0 failed.git diff --checksuccessfully.Contributor Checklist
type:*label:type:bug.Summary by CodeRabbit
Bug Fixes
Documentation
Tests