This SDK is versioned independently of the otari gateway, with its own semver. Releases are automated with release-please.
- Merge changes to
mainusing Conventional Commits (feat:,fix:, etc.). This includes the gateway codegen's regeneration PRs and ordinary shell PRs. - release-please opens or updates a single release PR that bumps the version
in
pyproject.toml([project].version) and writesCHANGELOG.md. - Review and merge the release PR. That tags the release and creates a GitHub Release.
- The same workflow run (
.github/workflows/release-please.yml, gated onrelease_created) builds the package and publishes it to PyPI.
- Registry: PyPI (
otari). - Auth: PyPI trusted publishing via OIDC (
environment: pypi,id-token: write). No API token secret is stored; the trusted publisher must be configured on PyPI. - Version file:
pyproject.toml[project].version(the only place to change the version; do not edit it by hand, release-please owns it).
- Enable Settings to Actions: "Allow GitHub Actions to create and approve pull requests" so release-please can open its release PR.
- Configure the PyPI trusted publisher for this repo and the
pypienvironment.
The release tag and GitHub Release already exist, so re-run the failed publish
job from the Actions tab to retry publishing the same version. Avoid cutting a
release by hand; the automated path keeps pyproject.toml, the tag, and the
changelog in sync.
See the gateway's SDK release coordination and compatibility for the cross-repo policy, the spec-version model, and the end-to-end flow.