Repository navigation
fork-release: prebuilt Linux packages with a fork-only installer - #6
Merged
Merged
Conversation
Fork releases carry `+fork` build metadata in CARGO_PKG_VERSION. The startup update check compares against openai/codex releases, which a fork build can never upgrade to, so treat such versions like source builds and skip it.
Follow upstream's distribution model without its infrastructure: a GitHub-hosted workflow builds the same Codex package upstream ships (codex-package-<target>.tar.gz with bin/codex, bin/codex-code-mode-host, codex-resources/bwrap, codex-path/rg and codex-package.json) via scripts/build_codex_package.py, smoke-tests it, and publishes a GitHub release with checksums and an installer. Fork labelling is explicit everywhere: tags are fork-v<semver> (upstream uses rust-v), the workspace version is stamped <semver>+fork so `codex --version` says so, and the release title and notes name the fork. scripts/install/install-fork.sh is a small POSIX installer for fork releases only (it refuses non-fork tags). It verifies the archive against codex-package_SHA256SUMS and installs into ~/.codex/packages/standalone with a `current` symlink and ~/.local/bin/codex, the layout upstream's standalone installer uses, so the daemon tooling sees a complete package. CODEX_FORK_BASE_URL allows mirrors and local testing. Linux x86_64 (glibc, built on ubuntu-22.04) first; musl and Windows are documented as next steps in the workflow.
JSBtechnologies
force-pushed
the
fork-release-pipeline
branch
from
October 21, 2026 19:24
9034e8c to
8557321
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prebuilt, explicitly fork-labelled releases, following upstream's distribution model (a GitHub release of the standard Codex package plus an installer) without its infrastructure.
.github/workflows/fork-release.yml— on afork-v<semver>tag: builds the Codex package with upstream's ownscripts/build_codex_package.pyonubuntu-22.04(codex, code-mode host, bwrap, pinned rg; stripped), stamps the workspace version to<semver>+fork, smoke-tests the package, and publishes a GitHub release titled "Codex fork v (JSBtechnologies)" withcodex-package-x86_64-unknown-linux-gnu.tar.gz/.tar.zst,codex-package_SHA256SUMSand the installer.workflow_dispatchbuilds without releasing.scripts/install/install-fork.sh— fork-only installer (refuses non-fork-vtags). Verifies the checksum and installs into~/.codex/packages/standalone/releases/<version>with acurrentsymlink and~/.local/bin/codex, the same layout as upstream's standalone installer, so the daemon tooling sees a complete package.+forkbuilds skip the upstream update check (they could never upgrade to an openai/codex release).Linux x86_64 (glibc 2.35+) first. musl and Windows (needs
codex-command-runner.exe,codex-windows-sandbox-setup.exe, signing) are documented as next steps in the workflow header.Test plan
--strip all)http.server: layout, symlinks,codex --versionthrough the symlink, helper beside the real binary, tampered checksum rejected,rust-v*tag rejectedcargo test -p codex-tui --lib update_versionspasses; rustfmt and clippy cleanActions → fork-release → Run workflowwith version0.1.0(build only), thengit tag fork-v0.1.0 && git push origin fork-v0.1.0for the first real releasecurl -fsSL https://github.com/JSBtechnologies/codex/releases/latest/download/install-fork.sh | shon a clean machine