Skip to content

ci(release): publish stores only after an immutable GitHub release - #4

Merged
soulbah merged 1 commit into
devfrom
ci/immutable-release
Oct 8, 2026
Merged

soulbah merged 1 commit into
devfrom
ci/immutable-release

Conversation

@soulbah

@soulbah soulbah commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Release immutability is now enabled on this repository (GET /repos/rootform-dev/editors/immutable-releases returns enabled: true), so a published release, its VSIX and SHA256SUMS, and its version tag can no longer change.

The release workflow now relies on that record:

  • github-release creates the release only when no published release exists for the tag (gh still uploads to a draft and publishes last), so re-running failed jobs resumes instead of failing on an existing release.
  • It then requires GitHub to report the release published and immutable, holding exactly the packaged files (asset digests equal the local sha256sum of the VSIX and SHA256SUMS), with a short wait for the lock.
  • Open VSX and the Visual Studio Marketplace run after that check, so a store never receives a VSIX that the immutable GitHub release does not describe.

docs/releasing.md describes the guarantee and how to resume.

Validation: actionlint .github/workflows/release.yml, bun run check:format; a local stub run of the digest comparison reports match for identical files and mismatch when an asset is missing. verify runs in CI. No tag or release is created by this PR.

@soulbah
soulbah merged commit 352c0fc into dev Oct 8, 2026
5 checks passed
@soulbah
soulbah deleted the ci/immutable-release branch October 8, 2026 00:46
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