Skip to content

Publish standalone installer release archives#18910

Closed
efrazer-oai wants to merge 6 commits into
mainfrom
efrazer/standalone-installer-artifacts
Closed

Publish standalone installer release archives#18910
efrazer-oai wants to merge 6 commits into
mainfrom
efrazer/standalone-installer-artifacts

Conversation

@efrazer-oai

@efrazer-oai efrazer-oai commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR adds release files that are made for the standalone installer.

This PR publishes those files during the Rust release:

  • codex-standalone-<platform>-<version>.tar.gz
  • codex-installer_SHA256SUMS

Each standalone archive has the layout the installer needs directly. It contains codex, rg, and the Windows helper binaries where needed.

Stack

  1. Publish standalone installer release archives #18910, this PR: publish standalone installer archives and their checksum file.
  2. Install standalone archives with checksum verification #18901: make the Unix and Windows installers download those archives and verify them before install.

Design decisions

  • Checksum generation stays as its own release step. The archive-staging script's job is to produce standalone archives. The checksum step's job is to publish a manifest over the final set of release archives that actually landed in dist/installer.
  • The installer consumes one checksum manifest for the release instead of per-archive embedded metadata. This keeps the installer flow simple: download codex-installer_SHA256SUMS, look up the requested archive, verify it, then extract it.
  • This follows the checksum-manifest pattern we already use for rusty_v8: stage artifacts, write a SHA-256 manifest next to them, and have consumers verify downloads against that manifest.

Tests

Tests: workflow formatter check, Python compile checks, standalone archive staging smoke tests covering linux-x64, linux-arm64, darwin-x64, darwin-arm64, win32-x64, and win32-arm64 via synthetic vendor inputs, plus archive content checks for Unix and Windows layouts.

@efrazer-oai

Copy link
Copy Markdown
Contributor Author

@codex review

@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: 3f2ce43a02

ℹ️ 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 thread scripts/stage_standalone_installer_archives.py Outdated
Comment thread scripts/stage_standalone_installer_archives.py Outdated
Comment thread .github/workflows/rust-release.yml Outdated
--package codex-responses-api-proxy \
--package codex-sdk
--package codex-sdk \
--standalone-output-dir dist/installer

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I don't really love that this is a "feature" of the npm stuff rather than its own step. Can we assemble the right args so that stage_standalone_installer_archives.py is called in its own step? Would it be materially less efficient for some reason?



REPO_ROOT = Path(__file__).resolve().parent.parent
BUILD_SCRIPT = REPO_ROOT / "codex-cli" / "scripts" / "build_npm_package.py"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Again, I don't think this should be conflated with what we are doing in npm. Or if anything, this should be the source of truth and npm should depend on this?

@efrazer-oai efrazer-oai requested a review from bolinfest April 28, 2026 23:38
@efrazer-oai

Copy link
Copy Markdown
Contributor Author

@bolinfest fixed as per your feedback!

@efrazer-oai efrazer-oai force-pushed the efrazer/standalone-installer-artifacts branch from 3cb7390 to 85a00e8 Compare April 29, 2026 20:26
@github-actions

Copy link
Copy Markdown
Contributor

Closing this pull request because it has had no updates for more than 14 days. If you plan to continue working on it, feel free to reopen or open a new PR.

@github-actions github-actions Bot closed this May 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants