docs: document axi-sdk-js release flow#65
Merged
Conversation
Capture the maintainer runbook for releasing axi-sdk-js in AGENTS.md. Conventional commits drive release-please, which opens a release PR that owns the version, CHANGELOG, and manifest; merging that PR is what tags and publishes to npm via `npm publish --access public --provenance`. This was previously undocumented - CONTRIBUTING only covers the contributor-side conventional-commit rule, not how a publish actually happens or how to verify it. Downstream *-axi tools inherit new SDK built-ins (e.g. the reserved `update` command) by bumping the dep only.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Intent
Release the axi-sdk-js package so the self-update 'update' built-in (already in source: RESERVED_COMMANDS, runUpdate, cli dispatch, help entries, update.ts, update.test.ts) reaches npm, letting downstream *-axi tools inherit ' update' by bumping the dep.
Key finding while doing the work: the repo publishes axi-sdk-js exclusively via release-please. The release-triggering commit (d6560fc, feat(axi-sdk-js): add built-in self-update command #60) already landed, and release-please ALREADY opened release PR #61 'chore(main): release axi-sdk-js 0.1.8', which bumps package.json + .release-please-manifest.json to 0.1.8 and adds the CHANGELOG entry for the update built-in. Merging PR #61 is what tags the release and triggers the CI 'npm publish --access public --provenance' step.
Deliberate decision (important for reviewing the diff scope): I did NOT hand-bump the version/CHANGELOG/manifest. CONTRIBUTING.md and the 'Guard generated files' CI check forbid hand-editing those files; release-please's PR is the only place they may change, so manually bumping would both conflict with PR #61 and fail CI. The actual publish is a captain action (merge PR #61; npm auth/OIDC is owned by the maintainer), so the task is to get to one-step-from-published and flag it - which is already true via PR #61.
I verified the release path locally before reporting: pnpm install --frozen-lockfile, build, 115 tests (incl. 53 update tests), lint, and format:check all green; the built dist carries update.js + RESERVED_COMMANDS + runUpdate; and the currently-published 0.1.7 confirmed to lack update.
The only committable change in this branch is therefore documentation: a new 'Releasing axi-sdk-js' maintainer runbook section in AGENTS.md (root; CLAUDE.md is a symlink to it). It captures the previously-undocumented publish flow - conventional commits drive release-please, merging the generated release PR runs npm publish --provenance, and how to verify with npm view / npm pack. This is durable project knowledge that was missing (CONTRIBUTING only covered the contributor-side conventional-commit rule, not how a publish happens or how to verify it). Plain ASCII dashes used intentionally per repo author's style preference (no em dashes).
What Changed
axi-sdk-jsrelease-please publish flow inAGENTS.md, including the generated release PR, provenance publish step, and npm verification commands.feat:andfix:commits both produce patch bumps, while generated changelog and manifest updates stay in release-please PRs.Risk Assessment
✅ Low: The HEAD diff is limited to AGENTS.md release-process documentation and its claims match the checked-in release-please config and GitHub workflows, so there is little merge risk.
Testing
Checked the target diff scope, ran the SDK test suite and build, smoke-tested the built CLI update surfaces, verified npm latest and package contents, verified PR #61, the GitHub release, and the successful release-please workflow run, then removed the transient
packages/axi-sdk-js/distbuild output. An exploratorygh-axi pr list --fields ...command used unsupported fields and was replaced by the direct PR, release, and run checks; it was not a product failure.Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
🔧 **Review** - 1 issue found → auto-fixed (2) ✅
AGENTS.md:65- This saysfeat:maps to a minor-equivalent bump, but the repo setsbump-patch-for-minor-pre-major: true, which release-please documents as makingfeatcommits bump patch instead of minor for versions below 1.0. Sinceaxi-sdk-jsis currently 0.1.7, afeat:release should be documented as 0.1.8-style patch, not minor. Source: https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md#configfile🔧 Fix: Clarify release-please pre-1.0 patch bumps
1 warning still open:
AGENTS.md:68- This says theGuard generated filescheck fails any PR that hand-edits all files listed above, includingpackages/axi-sdk-js/package.json, but the workflow only checkspackages/axi-sdk-js/CHANGELOG.mdand.release-please-manifest.json. Scope this sentence to the guarded files, or add a dedicated guard for package version bumps, so agents do not assume package.json version edits are CI-blocked when they are not.🔧 Fix: Clarify generated file guard scope
✅ Re-checked - no issues remain.
✅ **Test** - passed
✅ No issues found.
git diff --name-status d6560fca9e6dd8fdd9672bb8fa49e740ca86658f..7f62da038241362e320d31dfe99433a8acda1172pnpm --dir packages/axi-sdk-js testpnpm --dir packages/axi-sdk-js run buildBuilt SDK smoke check withrunAxiCli({ argv: ["--help"] })Built SDK smoke check withrunAxiCli({ argv: ["update", "--help"] })Built SDK smoke check withrunAxiCli({ argv: ["update", "--check"], packageName: "axi-sdk-js", version: "0.1.7" })npm view axi-sdk-js version dist-tags.latestnpm pack --dry-run --json axi-sdk-js@0.1.8gh-axi pr view 61 --fullgh-axi release view axi-sdk-js-v0.1.8 --fullgh-axi run list --workflow axi-sdk-js-release-please.yml --branch main --limit 5✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.