Repository navigation
ci(release): refuse an adcp release its companion packages can't install with - #1605
Merged
Merged
Conversation
…all with 9.0.0 moved the PostgreSQL reporting stores into adcp-reporting-storage before that package was on PyPI, so the documented install failed and Postgres adopters were stuck on the last beta. Before an adcp release builds, require each companion distribution to have a published, non-yanked release whose adcp requirement accepts the new version. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Ladon verdict: Approve
Approve — clean CI-gate addition with no blocking, high, or medium findings.
What I checked:
- New CI gate (
scripts/check_companion_releases.py, wired inrelease-publish.yml:9-14) blocks anadcppublish unless a non-yanked companion release on PyPI accepts the version being published. Logic is fail-closed on every path (404/network/5xx all block), with a 30s timeout on the single external call. - Reads the release-commit
pyproject.tomlversion after the Wait step's detached checkout. ci(release):is the correct semver signal for a CI-only change — no publicadcp.*surface touched, so no breaking-change / migration-note requirement applies.- Tests cover missing/yanked/no-requirement/floor-above/prerelease-floor/newest-selection branches.
Decision path: No critical/high/medium findings (row 1 N/A). gated_paths: false (row 2 N/A). high_risk: false with no deletions (rows 3–5 N/A). No prior decision (row 6 N/A). No no-auto-approve team match (row 7 N/A). Zero medium findings (row 8 N/A). Falls through to row 9 → approve.
bokelley
added a commit
that referenced
this pull request
Oct 26, 2026
Forward-ports main through v9.2.0 (5314faa) into next with a true merge. Conflict: packages/adcp-reporting-storage/pyproject.toml takes main's adcp floor (>=9.0.0) and keeps next's <11 ceiling, per RELEASING.md. main's companion-release gate (#1605) now runs only for a publish from main; next cuts opt-in pre-releases and the storage distribution's adcp-10 release is cut from main at ratification. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
bokelley
added a commit
that referenced
this pull request
Oct 27, 2026
SDK 10 targets AdCP 3.3; with the signed 3.3.0-beta.0 bundle adopted, next leaves the alpha channel. release-please-config.next.json now sets prerelease-type: beta, the release-channel contract test and RELEASING.md follow, and the 10.0.0-alpha.0 proposal (#1533) is superseded. next also releases its SDK 10 companion: adcp-reporting-storage is a second component (0.2.0-beta.N, CHANGELOG.next.md, its own release PR and publish run), the normalizer accepts its release PR, release-publish.yml publishes it from next, and the #1605 companion gate runs for every adcp publish on both lines instead of being skipped on next. Release-As: 10.0.0-beta.0 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
bokelley
added a commit
that referenced
this pull request
Oct 27, 2026
SDK 10 targets AdCP 3.3; with the signed 3.3.0-beta.0 bundle adopted, next leaves the alpha channel. release-please-config.next.json now sets prerelease-type: beta, the release-channel contract test and RELEASING.md follow, and the 10.0.0-alpha.0 proposal (#1533) is superseded. next also releases its SDK 10 companion: adcp-reporting-storage is a second component (0.2.0-beta.N, CHANGELOG.next.md, its own release PR and publish run), the normalizer accepts its release PR, release-publish.yml publishes it from next, and the #1605 companion gate runs for every adcp publish on both lines instead of being skipped on next. Release-As: 10.0.0-beta.0 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
bokelley
added a commit
that referenced
this pull request
Oct 27, 2026
SDK 10 targets AdCP 3.3; with the signed 3.3.0-beta.0 bundle adopted, next leaves the alpha channel. release-please-config.next.json now sets prerelease-type: beta, the release-channel contract test and RELEASING.md follow, and the 10.0.0-alpha.0 proposal (#1533) is superseded. next also releases its SDK 10 companion: adcp-reporting-storage is a second component (0.2.0-beta.N, CHANGELOG.next.md, its own release PR and publish run), the normalizer accepts its release PR, release-publish.yml publishes it from next, and the #1605 companion gate runs for every adcp publish on both lines instead of being skipped on next. Release-As: 10.0.0-beta.0 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
bokelley
added a commit
that referenced
this pull request
Oct 27, 2026
Start the SDK 10 line of adcp-reporting-storage on next: the companion the #1605 gate requires before adcp 10.0.0-beta.0 can publish. Its adcp range (adcp>=9.0.0,<11) admits 10.0.0b0; the changelog for this line is CHANGELOG.next.md. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Release-As: 0.2.0-beta.0
bokelley
added a commit
that referenced
this pull request
Oct 27, 2026
SDK 10 targets AdCP 3.3; with the signed 3.3.0-beta.0 bundle adopted, next leaves the alpha channel. release-please-config.next.json now sets prerelease-type: beta, the release-channel contract test and RELEASING.md follow, and the 10.0.0-alpha.0 proposal (#1533) is superseded. next also releases its SDK 10 companion: adcp-reporting-storage is a second component (0.2.0-beta.N, CHANGELOG.next.md, its own release PR and publish run), the normalizer accepts its release PR, release-publish.yml publishes it from next, and the #1605 companion gate runs for every adcp publish on both lines instead of being skipped on next. Release-As: 10.0.0-beta.0 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
bokelley
added a commit
that referenced
this pull request
Oct 27, 2026
SDK 10 targets AdCP 3.3; with the signed 3.3.0-beta.0 bundle adopted, next leaves the alpha channel. release-please-config.next.json now sets prerelease-type: beta, the release-channel contract test and RELEASING.md follow, and the 10.0.0-alpha.0 proposal (#1533) is superseded. next also releases its SDK 10 companion: adcp-reporting-storage is a second component (0.2.0-beta.N, CHANGELOG.next.md, its own release PR and publish run), the normalizer accepts its release PR, release-publish.yml publishes it from next, and the #1605 companion gate runs for every adcp publish on both lines instead of being skipped on next. Release-As: 10.0.0-beta.0 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
bokelley
added a commit
that referenced
this pull request
Oct 27, 2026
SDK 10 targets AdCP 3.3; with the signed 3.3.0-beta.0 bundle adopted, next leaves the alpha channel. release-please-config.next.json now sets prerelease-type: beta, the release-channel contract test and RELEASING.md follow, and the 10.0.0-alpha.0 proposal (#1533) is superseded. next also releases its SDK 10 companion: adcp-reporting-storage is a second component (0.2.0-beta.N, CHANGELOG.next.md, its own release PR and publish run), the normalizer accepts its release PR, release-publish.yml publishes it from next, and the #1605 companion gate runs for every adcp publish on both lines instead of being skipped on next. Release-As: 10.0.0-beta.0 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
bokelley
added a commit
that referenced
this pull request
Oct 27, 2026
SDK 10 targets AdCP 3.3; with the signed 3.3.0-beta.0 bundle adopted, next leaves the alpha channel. release-please-config.next.json now sets prerelease-type: beta, the release-channel contract test and RELEASING.md follow, and the 10.0.0-alpha.0 proposal (#1533) is superseded. next also releases its SDK 10 companion: adcp-reporting-storage is a second component (0.2.0-beta.N, CHANGELOG.next.md, its own release PR and publish run), the normalizer accepts its release PR, release-publish.yml publishes it from next, and the #1605 companion gate runs for every adcp publish on both lines instead of being skipped on next. Release-As: 10.0.0-beta.0 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
bokelley
added a commit
that referenced
this pull request
Oct 27, 2026
SDK 10 targets AdCP 3.3; with the signed 3.3.0-beta.0 bundle adopted, next leaves the alpha channel. release-please-config.next.json now sets prerelease-type: beta, the release-channel contract test and RELEASING.md follow, and the 10.0.0-alpha.0 proposal (#1533) is superseded. next also releases its SDK 10 companion: adcp-reporting-storage is a second component (0.2.0-beta.N, CHANGELOG.next.md, its own release PR and publish run), the normalizer accepts its release PR, release-publish.yml publishes it from next, and the #1605 companion gate runs for every adcp publish on both lines instead of being skipped on next. Release-As: 10.0.0-beta.0 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
bokelley
added a commit
that referenced
this pull request
Oct 27, 2026
SDK 10 targets AdCP 3.3; with the signed 3.3.0-beta.0 bundle adopted, next leaves the alpha channel. release-please-config.next.json now sets prerelease-type: beta, the release-channel contract test and RELEASING.md follow, and the 10.0.0-alpha.0 proposal (#1533) is superseded. next also releases its SDK 10 companion: adcp-reporting-storage is a second component (0.2.0-beta.N, CHANGELOG.next.md, its own release PR and publish run), the normalizer accepts its release PR, release-publish.yml publishes it from next, and the #1605 companion gate runs for every adcp publish on both lines instead of being skipped on next. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Release-As: 10.0.0-beta.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ESA release-process feedback. 9.0.0 GA removed the PostgreSQL reporting stores from
adcpbeforeadcp-reporting-storagewas on PyPI. The migration doc'spip install "adcp-reporting-storage[pg]"failed, and every Postgres reporting adopter was stuck on 9.0.0b4 until #1571 published.Gate:
scripts/check_companion_releases.pyruns inrelease-publish.ymlbefore anadcpbuild. For each companion distribution (COMPANIONS = ("adcp-reporting-storage",)) it requires a published, non-yanked release on PyPI whoseadcprequirement accepts the version being released, prereleases included. Otherwise the publish stops with a message to release the companion first. Storage releases are unaffected.Behaviour:
adcp>=9.0.0,<10): passes.adcp10.Tests:
tests/test_check_companion_releases.pycovers missing, compatible beta, new major, prerelease floor, yanked, no adcp requirement, floor above, and newest-compatible selection; 83 pass withtest_release_ci.py. Live against PyPI:9.1.0passes with 0.1.0b4, and10.0.0is refused.🤖 Generated with Claude Code