fix(release): prepend container-image header to release notes#319
Merged
Conversation
The release step used only `--generate-notes`, so the GitHub Release never referenced the published image — inconsistent with the sibling IcebergTTX, whose release.yml prepends a terse image header. Mirror that: write a `--notes-file` header (image ref by its normalized OCI tag + pointer to docs/RELEASING.md) above the auto-generated notes so every future release surfaces the image and the family reads as one system. The image tag comes from steps.meta.outputs.version (docker/metadata-action's normalized SemVer, no `v`) via an env var — not interpolated into the shell. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
IcebergAutoReview
Verdict: approve
The release workflow correctly prepends the container image reference while retaining generated notes. The normalized metadata version matches the published SemVer tag, shell inputs are safely passed through environment variables, and existing security/pinning conventions remain intact.
Findings
- No blocking findings.
Validation
- Inspected the complete main...HEAD diff and surrounding release workflow
- Verified clean ancestry and single-file scope
git diff --check main...HEADpassedtimeout 120s actionlint .github/workflows/release.ymlpassed- Bash syntax probe for the modified release script passed
- Confirmed via
gh release create --helpthat supplied notes are prepended when--generate-notesis used
Residual risks / optional notes
- The tag-triggered publishing step was not executed locally because it would create external release artifacts; current-head CI provides the broad validation baseline.
Automated review by Codex 51e043bfd03a using IcebergAutoReview.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why: the IcebergEBS v0.1.0-beta.1 release notes didn't reference the published image at all, and looked nothing like the sibling IcebergTTX releases. Root cause:
release.yml's Create GitHub Release step used only--generate-notes, whereas IcebergTTX's step prepends a terse container-image header via--notes-file.This mirrors IcebergTTX so the family's releases read as one system — a 3-line header (image ref by its normalized OCI tag + a pointer to
docs/RELEASING.md) above the auto-generated "What's Changed":steps.meta.outputs.version(docker/metadata-action's normalized SemVer — nov), passed through anenv:var rather than interpolated into the shell (zizmor-clean).The other visible difference — beta.1's huge full-history "What's Changed" — is inherent to it being the first release (
--generate-noteshas no prior tag to diff against) and self-corrects at beta.2, which will produce a shortcompare/…list like IcebergTTX. No change needed for that.🤖 Generated with Claude Code