Skip to content

ci(release): draft a GitHub release alongside the GHCR push - #4

Open
starvy wants to merge 1 commit into
mainfrom
ci/draft-release
Open

ci(release): draft a GitHub release alongside the GHCR push#4
starvy wants to merge 1 commit into
mainfrom
ci/draft-release

Conversation

@starvy

@starvy starvy commented Aug 17, 2026

Copy link
Copy Markdown
Owner

The v* tag workflow published the image to GHCR but left no GitHub release, so a tag produced nothing users could read or subscribe to.

Adds a release job gated on needs: image — the draft only appears once the image it advertises is actually pullable. The body is composed here (pull instructions, then the API-generated changelog) rather than via --generate-notes, so ordering is explicit.

  • Left as a draft: publishing stays a human act, and it is the last point a bad tag can be walked back.
  • A hyphenated tag (v0.1.0-rc.1) is marked prerelease, matching metadata-action's latest=auto — so the release and the latest image tag agree on what counts as a real release.
  • Idempotent: re-pushing a tag edits the existing draft instead of failing.
  • packages: write moved off the workflow root onto the image job; release takes contents: write.

Ready for git tag v0.1.0 && git push --tags.

The tag push already published the image but left no release, so there was
nothing for users to read or subscribe to. Draft, not published: the notes
are generated and unreviewed, and a draft is the last point a bad tag can be
walked back before an announcement goes out.
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