ci: harden release and review boundaries - #306
Conversation
Co-authored-by: Sharad <sharadvc@users.noreply.github.com>
PR Summary by QodoHarden release publication and required-check boundaries
AI Description
Diagram
High-Level Assessment
Files changed (8)
|
Code Review by Qodo
1. Automated releases stop running
|
| # publish, or leave a GitHub release standing with nothing published against it. | ||
| concurrency: | ||
| group: release | ||
| queue: max |
There was a problem hiding this comment.
1. Automated releases stop running 🐞 Bug ≡ Correctness
concurrency.queue is not a supported GitHub Actions workflow property, so the new queue: max entry makes release.yml fail workflow validation. Every changelog push and recovery dispatch reaches this invalid top-level configuration before preflight, leaving both GitHub and npm publication jobs unable to start.
Agent Prompt
## Issue description
The release workflow declares unsupported `concurrency.queue` syntax, causing workflow validation to fail before any release job starts.
## Fix Focus Areas
- .github/workflows/release.yml[15-31]
- docs/releasing.md[7-9]
## Recommended Fix
Remove `queue: max` and retain only supported concurrency properties. Update the workflow comments and recovery documentation so they do not claim that GitHub retains every pending run; if retaining every release trigger is mandatory, implement a supported durable queueing mechanism instead of an unknown concurrency property.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
- validate: conorbronsdon#305 stopped stripping an AI tracker that sits directly before bold markers, an em/en dash, or an ellipsis, reporting url-missing (e.g. **https://x.com/p?utm_source=chatgpt.com** -> **https://x.com/p**). - rewrite-eval-opencode: an `opencode export` spawn failure threw "Cannot read properties of undefined (reading 'trim')" and hid the real error; route it through requireCommand like the other calls. - detector CI: since conorbronsdon#306 releases trigger only on package.json changes, so a release PR that forgets package.json merged green and never released. Run verify-release-versions.js on every PR. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Summary
releaseenvironment and retain every queued release runThe security-policy text incorporates the useful part of #276 and preserves Sharad's contribution in the commit trailer. The code-of-conduct contact decision remains separate.
Validation
npm testnpm run self-scan:checknode scripts/verify-release-versions.test.js(17 passed)git diff HEAD^ --checkavoid-ai-writing-gateat threshold 61c3681aba0140d833067342658587d97b6020bc1: Astra clean; OpenCode Go MiMo and Luna findings checked against the files; Hermes/Inkling and OpenCode Muse free passes completedSetup failures, not counted as reviews: two stalled Claude Opus 5 attempts;
OpenCode Go Grok timeout/no-final, Muse Go HTTP 403, Kimi output exhaustion, and
Qwen timeout. The required private lane fell back to the completed Go reviews.
Rollout prerequisites
Already active before merge:
releaseenvironment restricted tomainAfter CI passes, this PR will be merged before the
mainruleset and immutable-release policy are enabled. npm trusted publishing still needs its publisher entry bound to thereleaseenvironment.Changelog exemption: CI, repository policy, and maintainer documentation only; no user-facing detector, package, or compatibility change.