SDK Release Runbook
Last updated: 2026-02-22
Release prerequisites
- TypeScript SDK version updated in
/Users/lucio/Desktop/Aionis/packages/sdk/package.json. - Python SDK version updated in
/Users/lucio/Desktop/Aionis/packages/python-sdk/pyproject.toml. - Matching changelog entries exist in:
/Users/lucio/Desktop/Aionis/packages/sdk/CHANGELOG.md/Users/lucio/Desktop/Aionis/packages/python-sdk/CHANGELOG.md
- Compatibility matrix updated in
/Users/lucio/Desktop/Aionis/docs/SDK_COMPATIBILITY_MATRIX.md. - Local checks pass:
bash
cd /Users/lucio/Desktop/Aionis
npm run sdk:build
npm run sdk:release-check
npm run sdk:pack-dry-run
npm run sdk:py:compile
npm run sdk:py:release-check
npm run sdk:smoke
npm run sdk:tools-feedback-smoke
npm run sdk:py:smokeCI workflows
SDK CI(/Users/lucio/Desktop/Aionis/.github/workflows/sdk-ci.yml)- runs on SDK-related PR/push changes
- validates build/release-check/pack/docs
SDK Publish(/Users/lucio/Desktop/Aionis/.github/workflows/sdk-publish.yml) - TypeScript package- automatic publish on tag
sdk-v* - manual trigger with optional
dry_run
- automatic publish on tag
Python SDK Publish(/Users/lucio/Desktop/Aionis/.github/workflows/sdk-py-publish.yml) - Python package- automatic publish on tag
py-sdk-v* - manual trigger with optional
dry_run
- automatic publish on tag
Publish path (recommended)
- Bump version in
packages/sdk/package.json. - Ensure changelog + matrix updated.
- Commit and push.
- Create TypeScript release tag:
bash
git tag sdk-v<version>
git push origin sdk-v<version>- GitHub Action
SDK Publishwill run release checks and publish to npm.
Python tag check
Python SDK release-check supports optional tag validation:
bash
npm run sdk:py:release-check -- --tag py-sdk-v<version>Python SDK build/publish local flow:
bash
npm run sdk:py:build-dist
npm run sdk:py:publish:dry-run
# publish
npm run sdk:py:publishManual dry-run via workflow
Use workflow_dispatch on SDK Publish with:
tag: optional (sdk-v0.1.4)dry_run:true
Secrets
Repository secret required:
NPM_TOKEN: npm automation token with publish rights for@aionis/sdk.PYPI_API_TOKEN: PyPI token for publishingaionis-sdk.
Failure handling
If publish job fails:
- Check
sdk:release-checkoutput first (version/tag/changelog/matrix mismatch). - Re-run
npm run sdk:pack-dry-runlocally. - Fix and retag using a new version (do not reuse an already published version).