Releases are automated via changesets.
There is no manual version bump and no manual git tag.
- Write access to this repo (
fullstorydev/subtext-cli). - (First release only)
@subtextdevnpm scope access and a Trusted Publisher configured on npmjs.com (see below). Publishing uses OIDC provenance; noNPM_TOKENsecret.
If your change is user-facing (should bump the version / appear in the changelog), run:
npm run changesetPick patch / minor / major, write a short summary, and commit the
resulting .changeset/*.md file with your PR. See
.changeset/README.md for the full workflow.
The release workflow (.github/workflows/release.yml) notices pending
changesets and opens/updates a "Version Packages" PR that bumps
npm/package.json and writes npm/CHANGELOG.md.
This is the release trigger. With no changesets left to consume, the same workflow:
- Runs
go test ./.... - Tags the commit (
vX.Y.Z, matching the version the PR just set) and pushes the tag. - Runs GoReleaser, which builds binaries for darwin/linux/windows ×
amd64/arm64, creates archives +
checksums.txt, and creates a GitHub Release namedvX.Y.Z. - Publishes
@subtextdev/subtext-clito npm via OIDC (noNPM_TOKENneeded).
Watch it under Actions → Release in the repo.
# via npm
npx @subtextdev/subtext-cli@0.2.0 --version
# via go install
go install github.com/fullstorydev/subtext-cli/cmd/subtext@v0.2.0
subtext --versiongoreleaser release --snapshot --clean --skip=publish
./dist/subtext_darwin_arm64_v8.0/subtext versionNo tag or GitHub credentials needed. Binaries land in dist/.
- Confirm
@subtextdevnpm scope exists on npmjs.com. - Configure a Trusted Publisher on npmjs.com: GitHub Actions, org
fullstorydev, reposubtext-cli, workflowrelease.yml, allownpm publish. - Test
npx @subtextdev/subtext-cli auth whoamiafter publish.