Release notes backfill can rewrite any public release body with no review
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Problem
cicd_ai-release-notes-backfill.yml is a workflow_dispatch workflow whose phase ends in:
gh release edit "$RELEASE_TAG" --notes-file /tmp/release-notes.md
That is an unconditional replace on a public GitHub release body. It overwrites hand edits and cannot be undone from the workflow.
workflow_dispatch is limited to accounts with write access — never forks, never anonymous users — but that is 45 accounts on this repo today. Since this workflow shipped in March 2026 it has been an unreviewed write path to public release documentation, for any release tag, by any of those accounts.
Proposal
Add a no-op approval gate on a release-notes-backfill environment with required_reviewers: dotDevelopers, and make the generate job needs: gate.
This matches the existing pattern in cicd_evergreen-tracks-promote.yml, whose apply step gates on the evergreen-tracks-apply environment for the same reason.
Note
The environment must carry the protection rule. If it is missing, GitHub auto-creates it unprotected on first use, which silently removes the gate — it fails open, not closed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Compare cicd_ai-release-notes-backfill.yml with cicd_evergreen-tracks-promote.yml, starting at the workflow's release-edit phase and the existing apply environment gate. Confirm the release-notes-backfill environment has the required dotDevelopers protection rule, then verify that the generate job waits for the gate and that the workflow cannot edit a release without approval.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, yaml
- Domain
- ci-cd, release, security
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100