From e0320ea1e96cccc426304ec72e57c69a9f88b279 Mon Sep 17 00:00:00 2001 From: Mohammed Alkindi Date: Mon, 24 Aug 2026 14:29:58 +0400 Subject: [PATCH] docs: correct the release workflow description in the README The Release Workflow section describes a flow that no longer exists. It documents a second workflow input, `claude_code_version`, and a release-branch-plus-pull-request path ending in "Review and merge the release PR". publish.yml declares exactly one workflow_dispatch input, `version`. build-and-publish.yml pushes straight to main and then tags and creates a GitHub Release; there is no gh pr create and no release branch anywhere under .github. RELEASING.md already documents the real flow, so the README contradicts it. The section was written in #283 and was accurate then. #350 removed the claude_code_version input the next day and #539 removed the PR-based release path outright; neither touched the README. Also drops the claim that a new CLI version can ship without a code change: the bundled version is pinned in _cli_version.py, which build_wheel.py reads at build time. --- README.md | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index b3879a0e8..e7e439260 100644 --- a/README.md +++ b/README.md @@ -338,27 +338,20 @@ See `python scripts/build_wheel.py --help` for all options. ### Release Workflow -The package is published to PyPI via the GitHub Actions workflow in `.github/workflows/publish.yml`. To create a new release: +The package is published to PyPI by the reusable `.github/workflows/build-and-publish.yml` workflow, called either automatically on a CLI version bump or manually from `.github/workflows/publish.yml`. To cut a release manually: -1. **Trigger the workflow** manually from the Actions tab with two inputs: +1. **Trigger the workflow** manually from the Actions tab with one input: - `version`: The package version to publish (e.g., `0.1.5`) - - `claude_code_version`: The Claude Code CLI version to bundle (e.g., `2.0.0` or `latest`) 2. **The workflow will**: - Build platform-specific wheels for macOS, Linux, and Windows - - Bundle the specified Claude Code CLI version in each wheel + - Bundle the pinned Claude Code CLI version in each wheel - Build a source distribution - Publish all artifacts to PyPI - - Create a release branch with version updates - - Open a PR to main with: - - Updated `pyproject.toml` version - - Updated `src/claude_agent_sdk/_version.py` - - Updated `src/claude_agent_sdk/_cli_version.py` with bundled CLI version - - Auto-generated `CHANGELOG.md` entry + - Commit the version bump (`pyproject.toml`, `src/claude_agent_sdk/_version.py`), add a Claude-generated `CHANGELOG.md` entry in a second commit, and push both directly to `main` + - Create a `v` tag and a GitHub Release -3. **Review and merge** the release PR to update main with the new version information - -The workflow tracks both the package version and the bundled CLI version separately, allowing you to release a new package version with an updated CLI without code changes. +The bundled CLI version is not a workflow input. It is pinned in `src/claude_agent_sdk/_cli_version.py`, which `scripts/build_wheel.py` reads at build time; bumping it on `main` with a `chore: bump bundled CLI version to X.Y.Z` commit cuts a patch release automatically once the Test workflow passes. See [RELEASING.md](RELEASING.md) for both release paths in full. ## License and terms