This Action is released with the same draft-then-publish flow as the llm-exe SDK. Consumers pin a floating major (uses: llm-exe/github-action@v1) or minor (@v1.4) tag and automatically get the latest patch; the immutable vX.Y.Z tag is also available for exact pins.
A GitHub Action runs the committed dist/index.js, not src/. CI rebuilds the bundle on every PR and fails if dist/ drifts from source, so the bundle must be built and committed before a release. Build it with npm run build.
package.json version is the single source of truth. The floating tags follow:
v1.4.5immutable, one per release, gets a GitHub Release.v1.4moves to the latestv1.4.x.v1moves to the latestv1.x.x.
Pre-releases (v2.0.0-beta.0) get an immutable tag and a GitHub pre-release, but never move the floating v2 / v2.0 tags.
- Open a PR into
mainthat bumpspackage.jsonversionto the next version and includes a freshly builtdist/(npm run build). - On the PR, two gates must pass:
- CI / Tests runs
npm run verifyon Node 20 and 22 and checksdist/is in sync. - Release / Check Semver confirms
package.jsonversion is greater than the latest stablevX.Y.Ztag.
- CI / Tests runs
- Merge the PR. Release / Create Draft builds a draft GitHub Release tagged
vX.Y.Zwith cleaned, auto-generated notes. - Review the draft release notes, then click Publish.
- Release / Publish checks out the released tag, re-verifies
dist/, and re-points the floatingv1andv1.4tags to the released commit. If anything fails, the release is reverted to draft.
There are no vX.Y.Z tags yet (only a legacy v1), so the semver check treats the latest stable version as 0.0.0. Set package.json version to your first release (for example 1.0.0) in step 1. Publishing it creates v1.0.0 and moves the existing v1 tag onto that commit.
npm run release -- v1.4.5 (see scripts/release.sh) builds, commits, tags, and pushes from your machine. It does not create a GitHub Release or move the floating tags, so prefer the workflow flow above for normal releases.