Skip to content

Speed up CI - #5

Closed
r0x0r wants to merge 2 commits into
mainfrom
ci-speed-codex-prebuilt-wt
Closed

Speed up CI#5
r0x0r wants to merge 2 commits into
mainfrom
ci-speed-codex-prebuilt-wt

Conversation

@r0x0r

@r0x0r r0x0r commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

This pull request optimizes the CI pipeline and acceptance test workflow by reusing prebuilt release binaries, particularly the large rocm-codex binary, to avoid redundant compilation steps. It introduces environment variable handling and script logic to detect and use existing binaries, improving build efficiency and reducing CI runtime.

CI/CD pipeline improvements:

  • Added a step in .github/workflows/ci.yml to pre-build release binaries and the vendored Codex binary during push events, making them available for later acceptance steps and reducing duplicate compilation.
  • Set the CARGO_TARGET_DIR environment variable in the CI workflow to ensure consistent target directory usage across steps.
  • Acceptance install lifecycle step now runs only on push events, aligning with when prebuilt binaries are available.
  • Removed redundant cargo build steps from both Linux and Windows jobs, as builds are now handled earlier or reused. [1] [2]

Acceptance and packaging script enhancements:

  • Updated scripts/acceptance-install-upgrade-tui-uninstall.sh to resolve and export the location of the prebuilt rocm-codex binary, enabling downstream scripts to reuse it if present.
  • Modified scripts/build-vendored-codex.sh to support a fast path: if the ROCM_CODEX_PREBUILT_BINARY environment variable is set and points to an existing binary, the script installs it directly instead of rebuilding, further reducing redundant builds in CI and local development.

r0x0r added 2 commits June 12, 2026 15:18
build-vendored-codex.sh: when ROCM_CODEX_PREBUILT_BINARY is set, copy the
prebuilt binary directly instead of running a full Cargo build of the vendored
Codex workspace.

acceptance script: after the release build completes, export
ROCM_CODEX_PREBUILT_BINARY pointing at target/release/rocm-codex so that the
packaging step reuses the binary already on disk instead of triggering a second
multi-minute cold compile with separate dependency downloads.

ci.yml: on push builds, run the release build + codex once before the
acceptance step so the prebuilt binary is warm in the cache.
@rominf

rominf commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

Superseded by dropping the vendored Codex tree entirely. Instead of prebuilding rocm-codex to avoid the CI timeout, we're removing the ~70-crate vendored Codex workspace outright — it ships no essential functionality (reachable only via the hidden --experimental-codex-tui flag) and removing it fixes the timeout at the source while dropping the upstream-sync burden. The removal is being folded into #4 so CI is fixed in one PR. Thanks @r0x0r for the investigation here.

@rominf rominf closed this Jun 12, 2026
michaelroy-amd added a commit that referenced this pull request Jun 29, 2026
… scroll, doc fixes

- #3: guard the Esc menu on a pure menu_fits() helper so it only renders
  when the logo AND all three items (Options/Help/Quit) fit; the old
  inner.height < 6 guard painted the logo with no reachable items at
  heights 6..=10. New unit test exercises the broken range + boundary.
- #4: remove the dead 't theme' launcher footer hint (no t handler).
- #5: global Help jump-to-tab now reads '1 .. 5' (5 tabs), matching draw_help.
- #6: scroll-offset casts use u16::try_from(..).unwrap_or(u16::MAX) instead
  of 'as u16' (console v/h, dock logs, bench detail, chat) — no wrap >65535.
- #7: split misattributed doc comments so apply_action and clamp_selectors
  each carry their own doc (and drop a stale gpu_scroll line).

Signed-off-by: Michael Roy <michael.roy@amd.com>
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