From 093ffb4ccfd58c55120d4793b05420e538e9ba6c Mon Sep 17 00:00:00 2001 From: Michael Bolin Date: Sat, 28 Jun 2025 19:39:12 -0700 Subject: [PATCH] chore: fix Rust release process so generated .tar.gz source works with Homebrew --- codex-rs/scripts/create_github_release.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/codex-rs/scripts/create_github_release.sh b/codex-rs/scripts/create_github_release.sh index 2ade252ce7..925243834a 100755 --- a/codex-rs/scripts/create_github_release.sh +++ b/codex-rs/scripts/create_github_release.sh @@ -28,10 +28,19 @@ else VERSION=$(printf '0.0.%d' "$(date +%y%m%d%H%M)") fi TAG="rust-v$VERSION" +RELEASE_BRANCH="release/$TAG" + git checkout -b "$TAG" perl -i -pe "s/^version = \".*\"/version = \"$VERSION\"/" Cargo.toml git add Cargo.toml git commit -m "Release $VERSION" git tag -a "$TAG" -m "Release $VERSION" + +# The commit identified by the tag must be reachable from a branch so that +# when GitHub creates the `Soruce code (tar.gz)` for the release, it can find +# the commit. This is a requirement for Homebrew to be able to install the +# package from the tarball. +git push origin "$RELEASE_BRANCH" git push origin "refs/tags/$TAG" + git checkout "$CURRENT_BRANCH"