Skip to content

Prepare the release flow for enabling immutable releases#396

Open
jupblb wants to merge 2 commits intomainfrom
michal/release
Open

Prepare the release flow for enabling immutable releases#396
jupblb wants to merge 2 commits intomainfrom
michal/release

Conversation

@jupblb
Copy link
Copy Markdown
Collaborator

@jupblb jupblb commented Apr 23, 2026

Further context: https://docs.github.com/en/code-security/concepts/supply-chain-security/immutable-releases

With this change we first create a release draft, then attach all artifacts (like compiled binaries) and only then mark the release as complete/final. It's a safe process that may be repeated in case of any issues without problem, unless the release has been already cut.

Additionally, I replaced CHANGELOG.md with --generate-notes argument for gh release. Not much of a difference and it makes the process easier.

jupblb added 2 commits April 23, 2026 13:19
- Create GitHub release as draft with --generate-notes, removing
  the need for a manually maintained CHANGELOG.md
- Add finalize-release job that marks the release as non-draft
  after crate publishing and binary uploads complete
- Make all steps idempotent for safe retries: tags check commit
  identity, draft release skips if exists, assets clobber only
  drafts
- Fail hard if a published release already exists (immutability)
- Delete CHANGELOG.md and update docs/Development.md
@jupblb jupblb requested a review from trly April 26, 2026 06:39
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