| name | release-cli |
| description | Release the aw CLI. Tags aw-vX.Y.Z on aweb, which triggers sync to awebai/aw repo + goreleaser (GitHub Releases) + npm (@awebai/aw). |
| argument-hint | ["version"] |
Release aw CLI
The CLI release is triggered by pushing an aw-vX.Y.Z tag on aweb.
The workflow at .github/workflows/aw-release.yml syncs cli/go/
to the awebai/aw repo and tags it as vX.Y.Z, which triggers
goreleaser + npm publish in that repo.
Flow
-
Determine the version.
The CLI version matches the server version in server/pyproject.toml.
Usually tagged alongside a server release.
-
Run CLI tests.
cd cli/go && GOCACHE=/tmp/go-build go test ./cmd/aw ./chat ./awid ./run ./internal/conformance -count=1
-
Tag.
git tag aw-v<VERSION>
-
Push the tag.
git push origin aw-v<VERSION>
-
Verify publication.
curl -s https://api.github.com/repos/awebai/aw/releases/tags/v<VERSION> | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('name','NOT FOUND'), d.get('published_at','N/A'))"
curl -s https://registry.npmjs.org/@awebai/aw/latest | python3 -c "import sys,json; d=json.load(sys.stdin); print('npm:', d.get('version','N/A'))"
Notes
- The CLI tag is usually created alongside the server tag in the same
release commit.
- The
aw-release.yml workflow requires the AW_REPO_TOKEN secret.
- Do NOT retag — goreleaser creates GitHub Releases which are immutable.