Skip to content

feat(codex): release wiring for codex-on-event (M4)#169

Merged
GuyMoses merged 2 commits into
mainfrom
sig-172-m4-release-wiring-for-codex-on-event
Jul 15, 2026
Merged

feat(codex): release wiring for codex-on-event (M4)#169
GuyMoses merged 2 commits into
mainfrom
sig-172-m4-release-wiring-for-codex-on-event

Conversation

@GuyMoses

Copy link
Copy Markdown
Contributor

Wires the codex-on-event binary into the release pipeline so tagged releases publish it alongside the Claude Code and Cursor binaries. Closes the M4 gap (SIG-172).

What

  • .goreleaser.yaml — adds a codex-on-event build block (CGO off, linux/darwin × amd64/arm64, version ldflags), mirroring cursor-on-event. Tagged releases now publish codex-on-event-{os}-{arch} binaries and include them in checksums.txt.
  • scripts/release.sh — bumps the pinned VERSION in scripts/codex-on-event.sh in lockstep with the other bootstrap scripts + plugin manifests.
  • DEVELOPMENT.md — documents the codex VERSION line and that release.sh updates all of them in one commit.

The bootstrap download/verify logic already exists (M3). Its VERSION stays at the 0.0.0 placeholder until the next release — release.sh bumps it in the same commit that first publishes codex binaries, so the pin and the published assets stay consistent. (No release is cut here; codex install isn't GA until M6.)

Testing

Verified locally with a goreleaser snapshot (no publish):

  • goreleaser check — config valid.
  • goreleaser release --snapshot --clean — produces all 4 codex-on-event-{darwin,linux}-{amd64,arm64} binaries, and checksums.txt includes all 4. Behaves identically to the existing two builds.

The "artifact already present" snapshot warning is pre-existing and benign — it fires for all three builds (on-event, cursor-on-event, codex-on-event) and current releases ship with it.

The download → checksum-verify → exec → OTLP path is already exercised in CI by #166's install contracts (Contract G/H) against a locally-staged binary; the literal GitHub download will be validated end-to-end at the first codex-containing release.

SIG-172

Add a codex-on-event build block to .goreleaser.yaml (CGO off,
linux/darwin × amd64/arm64, version ldflags), so tagged releases publish
codex-on-event-{os}-{arch} binaries + checksums alongside the Claude Code
and Cursor binaries. Wire scripts/release.sh to bump the pinned VERSION in
scripts/codex-on-event.sh in lockstep, and document it in DEVELOPMENT.md.

The bootstrap download/verify logic already exists (M3); its VERSION stays
at the 0.0.0 placeholder until the next release, when release.sh bumps it
in the same commit that first publishes codex binaries — so the pin and
the published assets stay consistent.

SIG-172

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@GuyMoses GuyMoses requested a review from a team as a code owner July 14, 2026 12:37

@bertschneider bertschneider left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks good 👍

Similar to the other ticket, I wonder if we could improve the release process, e.g. using the pushed git tag to automatically set the plugin version or the like. But out of scope for this PR.

@GuyMoses GuyMoses merged commit 467337a into main Jul 15, 2026
7 checks passed
@GuyMoses GuyMoses deleted the sig-172-m4-release-wiring-for-codex-on-event branch July 15, 2026 08:41
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 15, 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