Skip to content

release: publish standalone zsh artifacts - #30114

Merged
bolinfest merged 1 commit into
mainfrom
pr30114
Jun 25, 2026
Merged

release: publish standalone zsh artifacts#30114
bolinfest merged 1 commit into
mainfrom
pr30114

Conversation

@bolinfest

@bolinfest bolinfest commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Why

The patched zsh artifacts rarely change, but .github/workflows/rust-release-zsh.yml currently runs as part of every Rust release. Rebuilding the same four binaries for each Codex version wastes release capacity and ties an independently versioned runtime dependency to the main release cadence.

This establishes the producer side of a build-once flow. The existing Rust release workflow remains unchanged until the first standalone artifact release has been published and the checked-in DotSlash manifests can be updated with its URLs and checksums.

What changed

  • Run the zsh release workflow for protected codex-zsh-vX.Y.Z tags instead of as a reusable workflow.
  • Validate the semantic release tag before starting the platform builds.
  • Publish the four zsh archives to a GitHub prerelease so the release never becomes the repository latest release.
  • Publish the generated codex-zsh DotSlash manifest alongside the archives.
  • Document how to publish the next artifact version after changing the pinned zsh commit or patch.

Tag protection

An active repository tag ruleset named codex-zsh-v*.*.* targets refs/tags/codex-zsh-v*.*.*. It restricts tag creation, updates, deletion, and non-fast-forward changes; requires linear history; and limits bypass to the configured repository role.

This was verified with:

gh api repos/openai/codex/rulesets/18140982

The response reported "enforcement":"active", the expected tag condition, and the creation, update, deletion, non_fast_forward, and required_linear_history rules.

Rollout

After this lands, publish the first codex-zsh-vX.Y.Z release. A follow-up can then update the checked-in DotSlash manifests and remove the zsh rebuild from .github/workflows/rust-release.yml.


Stack created with Sapling. Best reviewed with ReviewStack.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7aad628403

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +4 to +6
push:
tags:
- "codex-zsh-v*.*.*"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Restore the reusable workflow trigger

This workflow is still invoked from .github/workflows/rust-release.yml:1049 via jobs.zsh-release-assets.uses; after this change its only trigger is push, so the next normal Rust release cannot call it as a reusable workflow because GitHub reusable workflows must declare on.workflow_call. Keep workflow_call alongside the tag trigger, or remove/update the caller, so the main release pipeline does not fail before publishing zsh assets.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Plan:

@bolinfest
bolinfest requested review from cconger and viyatb-oai and removed request for viyatb-oai June 25, 2026 20:20
Comment thread .github/workflows/rust-release-zsh.yml Outdated
# Keep zsh artifact releases out of Codex's normal "latest release" channel.
prerelease: true

- name: Amend existing GitHub Release

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had this for mine because I was debugging, just making sure that you want this behavior its kinda spooky since it lets us silently skew the backing bits to old releases.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed thanks!

@bolinfest
bolinfest merged commit 891f1f4 into main Jun 25, 2026
46 checks passed
@bolinfest
bolinfest deleted the pr30114 branch June 25, 2026 20:56
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 25, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants