Files
dev/docs/release_management.md
T
just-every-code 25bdad8d00 merge(upstream): integrate upstream/main into upstream-merge (by-bucket)
- Keep ours for  and workflows; drop upstream  per policy.
- Adopt upstream docs changes; simplify npm publish notes.
- Fix build: re-export Review* types in  to align tests and new review features.
- Verify: scripts/upstream-merge/verify.sh OK; ./build-fast.sh passes with zero warnings.
2025-09-17 03:57:54 +00:00

2.0 KiB

Release Management

Currently, we made Codex binaries available in three places:

Cutting a Release

Currently, choosing the version number for the next release is a manual process. In general, just go to https://github.com/openai/codex/releases/latest and see what the latest release is and increase the minor version by 1, so if the current release is 0.20.0, then the next release should be 0.21.0.

Assuming you are trying to publish 0.21.0, first you would run:

VERSION=0.21.0
./codex-rs/scripts/create_github_release.sh "$VERSION"

This will kick off a GitHub Action to build the release, so go to https://github.com/openai/codex/actions/workflows/rust-release.yml to find the corresponding workflow. (Note: we should automate finding the workflow URL with gh.)

When the workflow finishes, the GitHub Release is "done," but you still have to consider npm and Homebrew.

Publishing to npm

The GitHub Action is responsible for publishing to npm.

Publishing to Homebrew

For Homebrew, we are properly set up with their automation system, so every few hours or so it will check our GitHub repo to see if there is a new release. When it finds one, it will put up a PR to create the equivalent Homebrew release, which entails building Codex CLI from source on various versions of macOS.

Inevitably, you just have to refresh this page periodically to see if the release has been picked up by their automation system:

https://github.com/Homebrew/homebrew-core/pulls?q=%3Apr+codex

Once everything builds, a Homebrew admin has to approve the PR. Again, the whole process takes several hours and we don't have total control over it, but it seems to work pretty well.

For reference, our Homebrew formula lives at:

https://github.com/Homebrew/homebrew-core/blob/main/Formula/c/codex.rb