Skip to content

ci: make release-notes failures visible and re-runnable - #53

Merged
tristanheilman merged 2 commits into
mainfrom
ci/release-notes-rerun
Oct 8, 2026
Merged

tristanheilman merged 2 commits into
mainfrom
ci/release-notes-rerun

Conversation

@tristanheilman

@tristanheilman tristanheilman commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Why

The Release workflow's AI-notes step is continue-on-error and runs after npm publish. For 0.2.9 it failed: the Anthropic API returned "credit balance is too low". The release published fine but kept release-please's plain notes. Re-running that job can't recover the notes either, because npm publish refuses a version that already exists and the job stops before the notes step.

What changed

  • release.yml: the notes now run as their own notes job, after publish and without continue-on-error.

    • Visible: a failure shows red on the notes job instead of hiding behind a green run, and the release itself is unaffected.
    • Re-runnable: Re-run failed jobs retries only the notes and never touches npm.
    • Least privilege: publish no longer edits the release, so it drops to contents: read.
  • .github/workflows/release-notes.yml: a manual workflow (workflow_dispatch, with a required tag input) for releases cut before the split, such as 0.2.9. It runs only .github/scripts/ai-release-notes.sh for that tag. Same script and same secret as the Release workflow; contents: write lets it edit the release.

  • docs/agent/log.md: the 0.2.9 entry, including how to use this workflow.

After merge

gh workflow run release-notes.yml -f tag=v0.2.9 regenerates 0.2.9's notes (the API credits have since been topped up).

Both workflows pass action-validator. CI-only, no package change.

The Release workflow's notes step is best-effort and runs after npm
publish, so when it fails - as it did for 0.2.9, on an empty API credit
balance - re-running that job would try to publish the same version again
and stop before reaching the notes. This runs only the notes script, for a
tag given at dispatch.
The notes step sat inside the publish job with continue-on-error, so when
it failed for 0.2.9 the run still showed green and the failure went
unnoticed, and re-running the job would have tried npm publish again. As
a separate job without continue-on-error, a failure is visible, the
release is unaffected, and "Re-run failed jobs" retries only the notes.
The publish job no longer edits the release, so it drops to read access.
@tristanheilman tristanheilman changed the title ci: add a manual workflow to regenerate a release's notes ci: make release-notes failures visible and re-runnable Oct 8, 2026
@tristanheilman
tristanheilman merged commit 14027ce into main Oct 8, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant