Skip to content

Commit ddc96d5

Browse files
bokelleyclaude
andcommitted
ci(release): cut 10.0.0-beta.N pre-releases from next
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. Release-As: 10.0.0-beta.0 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
1 parent 0d27045 commit ddc96d5

5 files changed

Lines changed: 25 additions & 20 deletions

File tree

‎.github/workflows/release-please-next.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Release Please (next)
22

33
# Draft-spec line copy of main's release-please.yml. It runs from next only,
44
# opens release PRs against next with next's own config and manifest, and
5-
# queues next's copy of release-publish.yml. Releases are 10.0.0-alpha.N
5+
# queues next's copy of release-publish.yml. Releases are 10.0.0-beta.N
66
# pre-releases of adcp only: the adcp-reporting-storage component is released
77
# from main, and next's config excludes its path. main's release flow, config,
88
# and manifest are unchanged; this file and next's config and manifest are

‎.github/workflows/release-publish.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
# adcp tags are vX.Y.Z; the storage component tags carry its name.
5959
case "$PACKAGE" in
6060
adcp) [[ "$RELEASE_TAG" =~ ^v[0-9] ]] ;;
61-
# Only main releases the storage component; next cuts adcp alphas.
61+
# Only main releases the storage component; next cuts adcp pre-releases.
6262
adcp-reporting-storage) [[ "$GITHUB_REF_NAME" = main && "$RELEASE_TAG" =~ ^adcp-reporting-storage-v[0-9] ]] ;;
6363
*) echo "unknown package $PACKAGE" >&2; exit 1 ;;
6464
esac

‎RELEASING.md‎

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ releases ([#1525](https://github.com/adcontextprotocol/adcp-client-python/issues
1212
| --- | --- | --- |
1313
| `main` | Work against the latest ratified AdCP version (3.2.x today) | The current major (9.x), through release-please |
1414
| `release/N.x` (`release/8.x`, `release/7.x`) | Fixes for an older major | Patch releases of that major, from the branch's own release workflow |
15-
| `next` | Work against draft specs, such as AdCP 3.3 agent identity and Web Bot Auth | Pre-releases only (`10.0.0-alpha.N`), from its own release-please configuration |
15+
| `next` | SDK 10 on AdCP 3.3 (the 3.3.0-beta.0 bundle, agent identity, Web Bot Auth) | Pre-releases only (`10.0.0-beta.N`), from its own release-please configuration |
1616

1717
Open a PR against the branch that carries the spec it implements. Code written
1818
to an unratified spec (an open adcontextprotocol/adcp PR or a draft) targets
@@ -60,24 +60,28 @@ so that merges in either direction never change the other line's release flow:
6060
- `.github/workflows/release-please-next.yml` runs on pushes to `next` only,
6161
with its own concurrency group and `target-branch: next`.
6262
- `release-please-config.next.json` sets `versioning: prerelease`,
63-
`prerelease-type: alpha`, and `prerelease: true`, and writes
63+
`prerelease-type: beta`, and `prerelease: true`, and writes
6464
`CHANGELOG.next.md`. `.release-please-manifest.next.json` holds `next`'s
6565
current version.
66-
- The commit that added the setup ends with `Release-As: 10.0.0-alpha.0`, so
67-
the first release is `10.0.0-alpha.0`. Every later release increments the
68-
alpha number (`10.0.0-alpha.1`, ...), whatever the commit type. Don't
69-
merge a `next` release PR that proposes a version without `-alpha.N`.
66+
- The channel moved from alpha to beta with the AdCP 3.3.0-beta.0 adoption:
67+
the commit that switched it ends with `Release-As: 10.0.0-beta.0`, so the
68+
first SDK 10 release is `10.0.0-beta.0` (the earlier `10.0.0-alpha.0`
69+
proposal, #1533, was closed unreleased). Every later release increments the
70+
beta number (`10.0.0-beta.1`, ...), whatever the commit type. Don't merge a
71+
`next` release PR that proposes a version without `-beta.N`. A `Release-As:`
72+
footer must survive the squash: paste it into the squash commit message when
73+
merging the PR that carries it.
7074
- After release-please opens or updates the release PR, the workflow runs
7175
`scripts/normalize_pyproject_prerelease --release-prs --target-branch next`
72-
to rewrite `pyproject.toml` to PEP 440 (`10.0.0a0`). The normalizer accepts
76+
to rewrite `pyproject.toml` to PEP 440 (`10.0.0b0`). The normalizer accepts
7377
only `release-please--branches--next--components--adcp` PRs into `next`.
74-
- When the release PR merges, release-please tags `v10.0.0-alpha.N`, creates a
78+
- When the release PR merges, release-please tags `v10.0.0-beta.N`, creates a
7579
GitHub release marked as a pre-release, and dispatches `release-publish.yml`
7680
with `--ref next`. That workflow waits for `next`'s CI at the release commit,
7781
then publishes to PyPI after the `release-publish` environment approval.
78-
PyPI treats `10.0.0aN` as a pre-release: `pip install adcp` keeps resolving
82+
PyPI treats `10.0.0bN` as a pre-release: `pip install adcp` keeps resolving
7983
to `main`'s releases, and adopters opt in with `pip install --pre adcp` or
80-
`adcp==10.0.0a0`.
84+
`adcp==10.0.0b0`.
8185

8286
- `next` releases `adcp` only. The `adcp-reporting-storage` component
8387
(`packages/adcp-reporting-storage`, see `docs/releasing.md`) is released from
@@ -151,7 +155,7 @@ When the draft spec that `next` tracks is ratified:
151155
`release-please-config.json`'s channel to match (see `docs/releasing.md`).
152156
This must be the newest `Release-As:` commit. Release-please uses the
153157
newest footer it finds, so it overrides `next`'s earlier
154-
`Release-As: 10.0.0-alpha.0`.
158+
`Release-As: 10.0.0-beta.0`.
155159
6. If the 9.x line still needs fixes, create `release/9.x` from `main`, with
156160
its own release-please workflow like `release/8.x`'s.
157161
7. Open a PR from `next` into `main` and merge it with **Create a merge

‎release-please-config.next.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"package-name": "adcp",
66
"changelog-path": "CHANGELOG.next.md",
77
"versioning": "prerelease",
8-
"prerelease-type": "alpha",
8+
"prerelease-type": "beta",
99
"prerelease": true,
1010
"bump-minor-pre-major": true,
1111
"bump-patch-for-minor-pre-major": false,

‎tests/test_release_configuration.py‎

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,20 +77,21 @@ def test_storage_distribution_version_matches_its_manifest_entry() -> None:
7777
assert config["packages"]["."]["exclude-paths"] == ["packages/adcp-reporting-storage"]
7878

7979

80-
def test_release_please_keeps_next_on_the_alpha_channel() -> None:
81-
"""The next draft-spec line releases only ``10.0.0-alpha.N`` pre-releases.
80+
def test_release_please_keeps_next_on_the_beta_channel() -> None:
81+
"""The next line releases only ``10.0.0-beta.N`` pre-releases.
8282
83-
The adopting commit on next ends with ``Release-As: 10.0.0-alpha.0``;
84-
later commits increment the alpha number. next's workflow uses its own
85-
config and manifest so that merging main into next never changes them.
83+
The channel switch commit on next ends with ``Release-As: 10.0.0-beta.0``
84+
(it superseded the alpha proposal, #1533); later commits increment the
85+
beta number. next's workflow uses its own config and manifest so that
86+
merging main into next never changes them.
8687
"""
8788
config_path = ROOT / "release-please-config.next.json"
8889
if not config_path.exists():
8990
return # main does not carry next's release configuration.
9091
config = json.loads(config_path.read_text())
9192
package = config["packages"]["."]
9293
assert package["versioning"] == "prerelease"
93-
assert package["prerelease-type"] == "alpha"
94+
assert package["prerelease-type"] == "beta"
9495
assert package["prerelease"] is True
9596
assert package["changelog-path"] != "CHANGELOG.md"
9697
workflow = (ROOT / ".github/workflows/release-please-next.yml").read_text()

0 commit comments

Comments
 (0)