Skip to content

docs: add release runbook for server/SDK version sync#730

Merged
lakhansamani merged 1 commit into
mainfrom
docs/release-runbook
Jul 24, 2026
Merged

docs: add release runbook for server/SDK version sync#730
lakhansamani merged 1 commit into
mainfrom
docs/release-runbook

Conversation

@lakhansamani

Copy link
Copy Markdown
Contributor

Summary

A runbook (docs/release-runbook.md) documenting how the server and its 5 satellite repos (3 SDKs + 2 dedicated proto packages) need to be released in sync, based on the actual incident history from this project — every "known drift source" listed is a real bug that shipped, not a hypothetical.

Covers:

  • The full dependency graph (proto → BSR → proto packages → SDKs; GraphQL schema as the one hand-maintained drift source with no automated check)
  • Required release order and why skipping it causes real failures (CI resolving a not-yet-published version, image-not-built-yet races)
  • A pre-release checklist (proto-check, proto-check-clients, GraphQL/proto manual diff, docs audit)
  • A verification bar for SDK releases (live round-trip against a real built image, all transports, clean registry install — not just unit tests) with the reasoning for each step tied to a real bug it would have caught
  • Why authorizer-js stays hand-typed rather than adopting generated proto types (a real snake_case/camelCase mismatch with this server's REST config, not an oversight)
  • Pointer to the new SDK-level e2e coverage (e2e-playground/sdk-tests/) and when to add to it

Test plan

  • Read through for accuracy against this session's actual incident history

Captures the multi-repo dependency graph (server -> BSR -> proto
packages -> Go/Python SDKs; GraphQL schema as the one hand-maintained,
undetected drift source), release ordering, pre-release checklist, and
the verification bar that would have caught every cross-repo bug found
in this project's actual history (pagination schema drift, a removed
field SDKs kept sending, stale vendored proto stubs, an unresolvable
Go module path, a missing PyPI publish secret).
@lakhansamani
lakhansamani merged commit b67066c into main Jul 24, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant