🧐 Motivation
The release flow is mostly manual and brittle. Cutting v0.1.0 required manually creating the GitHub Release/tag, and a failed build meant manually deleting and recreating the tag/release to retry. We should automate it so a release is a single deterministic action.
📝 Details
Automate so that merging the version-bump PR to main (from a release-v* branch) drives the rest:
- Auto-create the GitHub Release + tag
v<version> from contracts/package.json on merge, which fires the existing release.yml publish job. No manual release creation.
- Make retries safe/idempotent (re-running shouldn't need manual tag deletion).
Out of scope / tracked separately:
✅ Acceptance
- Merging a
release-v* bump publishes to npm with no manual GitHub UI steps.
- A failed publish can be retried without manual tag/release surgery.
🧐 Motivation
The release flow is mostly manual and brittle. Cutting
v0.1.0required manually creating the GitHub Release/tag, and a failed build meant manually deleting and recreating the tag/release to retry. We should automate it so a release is a single deterministic action.📝 Details
Automate so that merging the version-bump PR to
main(from arelease-v*branch) drives the rest:v<version>fromcontracts/package.jsonon merge, which fires the existingrelease.ymlpublish job. No manual release creation.Out of scope / tracked separately:
prepare-release.ymlneeds theGH_APP_IDvar +GH_APP_PRIVATE_KEYsecret configured (the version-bump step currently fails without them).release.ymlmissing the Compact compiler install — fixed in ci(release): install Compact compiler before build #550.✅ Acceptance
release-v*bump publishes to npm with no manual GitHub UI steps.