name: publish-release
description: Use when publishing applets releases. npm (@iota-uz/sdk) and Go/CLI releases are independent and must be run separately.
Publish releases (separate npm and Go)
Use this when releasing either npm or Go/CLI artifacts. Do not couple them.
npm release (@iota-uz/sdk)
Bump npm version
Use npm without creating a git tag:npm version patch --no-git-tag-versionRead the new version from
package.jsonasX.Y.Z.Commit and push
git add package.json && git commit -m "release(npm): bump @iota-uz/sdk to X.Y.Z" && git push origin mainRun npm publish pipeline Trigger
.github/workflows/publish-npm.yml(manualworkflow_dispatch) only:gh workflow run publish-npm.yml --ref main gh run list --workflow publish-npm.yml --limit 1 gh run watch "$(gh run list --workflow publish-npm.yml --limit 1 --json databaseId -q '.[0].databaseId')"
Go/CLI release (github.com/iota-uz/applets)
Choose Go release version
PickvX.Y.Zfor Go module/CLI. It is independent from npm version.Ensure Go release config is ready
- Verify
.goreleaser.yamltargets linux/darwin only (no windows). - Verify CLI version resolution is correct for
go install.
- Verify
Tag and push Go release
git tag vX.Y.Z -m "release(go): vX.Y.Z" git push origin vX.Y.ZRun Go release pipeline Push the tag to trigger
.github/workflows/publish.yml(GoReleaser only), then monitor:gh run list --workflow publish.yml --limit 1 gh run watch "$(gh run list --workflow publish.yml --limit 1 --json databaseId -q '.[0].databaseId')"
Notes
- npm and Go versions can diverge.
- Do not block one release type on the other.
- Go consumers:
go get github.com/iota-uz/applets@vX.Y.Zorgo install .../cmd/applet@vX.Y.Z. - npm consumers:
npm install @iota-uz/sdk@X.Y.Z.