Skip to content

release: draft -> attach .pkg -> publish (immutable-releases compatible)#9

Merged
flaticols merged 1 commit into
mainfrom
fix/release-immutable-draft-publish
Jun 21, 2026
Merged

release: draft -> attach .pkg -> publish (immutable-releases compatible)#9
flaticols merged 1 commit into
mainfrom
fix/release-immutable-draft-publish

Conversation

@flaticols

Copy link
Copy Markdown
Owner

Problem

The repo's immutable-releases ruleset forbids modifying a published release, so the release workflow's attach-the-.pkg-after-create step fails (HTTP 422: Cannot upload assets to an immutable release). v0.0.1-0.0.3 predate the rule.

Fix

  • Create the GitHub Release as a draft, attach the signed/notarized .pkg while it's still mutable, then publish (the release locks at publish, with the asset already attached).
  • A manual workflow_dispatch run with a version input now creates the tag + release itself (softprops at the run's commit), so a release no longer needs a tag push (which the tag-protection ruleset blocks).

After merge — cutting the next release

gh workflow run release.yml -f version=0.0.6 (v0.0.4/v0.0.5 names are burned by the immutable rule — see notes below).

Build/sign/notarize steps are unchanged (they already pass); only the publish path changed.

…atible)

The immutable-releases ruleset rejects asset uploads to a published release, so
the prior attach-after-publish flow failed. Now the workflow creates the release
as a DRAFT, attaches the signed/notarized .pkg while mutable, then publishes
(locking it with the asset attached).

Also lets a manual workflow_dispatch run with a 'version' input create the
tag + release itself, so a release no longer requires a (ruleset-blocked) tag push.
@flaticols flaticols merged commit 7d0426d into main Jun 21, 2026
1 check passed
@flaticols flaticols deleted the fix/release-immutable-draft-publish branch June 21, 2026 13:29
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