Skip to content

fix(release): split tracing environments from the root SDK's pypi/testpypi (#353)#370

Merged
haiyuan-eng-google merged 2 commits into
GoogleCloudPlatform:mainfrom
caohy1988:fix/353-tracing-environment-split
Jul 16, 2026
Merged

fix(release): split tracing environments from the root SDK's pypi/testpypi (#353)#370
haiyuan-eng-google merged 2 commits into
GoogleCloudPlatform:mainfrom
caohy1988:fix/353-tracing-environment-split

Conversation

@caohy1988

Copy link
Copy Markdown
Collaborator

Cross-workflow collision fix from the #353 operational review — the root SDK's next v* release is currently blocked: release.yml publishes through the shared pypi/testpypi environments, and pypi already carries the tracing pipeline's tracing-v* deployment restriction. Restricting testpypi the same way (as the tracker previously instructed) would have blocked its TestPyPI job too.

Changes

  • release-tracing.yml: testpypitracing-testpypi, pypitracing-pypi (release-promote is already tracing-specific). Header comments explain the split.
  • producers/RELEASING.md: publisher Environment fields updated to the new names (the Trusted Publisher bindings are not registered yet, so no migration); one-time setup creates/restricts the three tracing environments to tracing-v* and leaves the root SDK's pypi/testpypi to their own v* rules; reviewer scoping moves to tracing-pypi + release-promote.
  • Runbook adds the immutable-releases toggle protocol for the interim (the setting is repo-wide; the root flow publishes the GitHub release first and has recovered v0.3.4/v0.2.1 by re-running a tag from a new SHA, which permanent immutability would break): enable via PUT /repos/{repo}/immutable-releases immediately before tagging → publish → verify immutable: true → disable (disabling is not retroactive). Longer term: harden the root flow so verification precedes publication, then leave it enabled permanently.

Required GitHub-side follow-through after merge (deliberately NOT applied yet — Tier 3 settings): create tracing-testpypi/tracing-pypi with the reviewer/tag-rule configuration above, and restore pypi's deployment rule for the root SDK's v* flow.

547 producer tests pass; workflow YAML + all run blocks parse.

Part of #353.

…tpypi (GoogleCloudPlatform#353)

release.yml (root SDK, v* tags) and release-tracing.yml shared the
pypi/testpypi environments, so the tracing-v* deployment restriction
already applied to pypi blocks the next root v* production release —
and restricting testpypi the same way would block its TestPyPI job.

- release-tracing.yml now uses tracing-testpypi / tracing-pypi;
  release-promote is already tracing-specific and keeps its name.
- Runbook: publisher Environment fields updated to the new names;
  one-time setup explains the split, restricts all three TRACING
  environments to tracing-v*, and leaves the root SDK's
  pypi/testpypi environments to their own v* rules.
- Runbook adds the immutable-releases toggle protocol for the interim:
  enable immediately before tagging, verify immutable:true on the
  published tracing release, disable afterwards (not retroactive in
  either direction) — because the root SDK flow publishes the GitHub
  release first and has recovered versions by re-running a tag from a
  new SHA, which permanent immutability would break. Longer term:
  harden the root flow, then leave the setting on permanently.
@haiyuan-eng-google
haiyuan-eng-google merged commit 5e6bcca into GoogleCloudPlatform:main Jul 16, 2026
23 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.

2 participants