English
SDK source branches
Each language is an orphan branch sdk/<lang>. Go/PHP/Swift full sources are sdk/go-src, sdk/php-src, sdk/swift-src; sdk/go and siblings are pointer READMEs. Do not draw language package roots on the default-branch tree.
Publish coordinates, dedicated-repo steps, and the GitHub Actions auto-release (Conventional Commits, sdk-<lang>-v* tags, secret names) live in docs/sdk-publish.md. User install docs: API → SDK. Do not put maintainer twine / cargo publish or CI secrets on user SDK pages.
Only a merged pull request publishes
- Each pipelined
sdk/<lang>branch publishes only when a pull request targeting that branch is merged (pull_request: types: [closed]+merged == true). Direct pushes, and closed-but-unmerged pull requests, stay silent. - Merging into
mainnever publishes an SDK; the server release is a separate manualworkflow_dispatch, see Release and Docker. sdk/candsdk/cpphave their own pipelines but ship no registry package: the release attaches a source archive zip (kirivers-<lang>-<semver>.zip) to the GitHub Release.- The pointer branches
sdk/go,sdk/php,sdk/swifthave no workflows; thesdk/*-srcpipelines only run tests inside this repository (the planskips when the repository identity is not the publish remote), and the real tag / publish happens in the copied-out dedicated repo — seedocs/sdk-publish.md. - The changelog is written back to each branch's own
CHANGELOG.md(created if missing); do not hand-edit it.