Skip to content

Speed up native CI and the release build - #407

Merged
RyanLee-Dev merged 4 commits into
mainfrom
speed-up-release-and-native-ci
Oct 3, 2026
Merged

RyanLee-Dev merged 4 commits into
mainfrom
speed-up-release-and-native-ci

Conversation

@RyanLee-Dev

@RyanLee-Dev RyanLee-Dev commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Native CI restores the pinned MiniMax companion from cache instead of rebuilding it (.github/actions/mcode-companion).
  • The Codex Runtime image now shares the node base and apt layer with the Claude and MiniMax images.
  • The release artifact is uploaded only when publication fails or a manual build does not publish.
  • The E2B helper manifest drops source_revision, so scripts/build-e2b-provider.sh caches each build under ~/.oac/cache/e2b-provider/<input hash> (miss 33s, hit 0.1s locally, byte-identical output). .github/actions/e2b-provider restores it in API acceptance and release.
  • The pnpm store falls back to any cache with the same Node and pnpm prefix.
  • New cache-warm workflow (main pushes and manual): builds the companion on Linux and macOS, the E2B helper and every pnpm lockfile's store, and runs no tests. GitHub only lets PRs and tags restore caches saved on their own ref or on main, and check never runs on main, so these caches were previously never shared.

Test plan

  • python3 scripts/ci_plan_test.py, make check-ci, actionlint
  • pnpm fetch for all six lockfiles in node 22 / pnpm 10.30.3
  • E2B build: cold build, then cache hit with identical archive
  • Codex image: uid 1000, codex-cli 0.153.4, node v22.23.1

yuanhe added 2 commits October 3, 2026 12:39
The companion is a pure function of packages/mcode-harness, its build
script and the platform; rebuilding it took about 50 seconds per Unix
native job.
The Codex image used debian with Debian's nodejs and npm, a 44 second
package layer that the combined Runtime image discards. It now uses the
same node base and package layer as the Claude and MiniMax images, so one
build reuses that layer. The recovery artifact is uploaded only when
publication fails or a manual build does not publish.
@RyanLee-Dev RyanLee-Dev changed the title Cache the pinned MiniMax companion in native CI Speed up native CI and the release build Oct 3, 2026
yuanhe added 2 commits October 3, 2026 13:03
The E2B helper manifest no longer records the source revision, so the
helper is a pure function of its inputs and is cached by their hash.
Composite actions own the companion and E2B cache keys, and a build-only
cache-warm workflow saves them and the pnpm store on main, the only ref
whose caches every pull request and release tag can restore.
Listing tracked lockfiles keeps the warm in step with new packages and
avoids naming the example application.
@RyanLee-Dev
RyanLee-Dev merged commit b7c5879 into main Oct 3, 2026
24 checks passed
@RyanLee-Dev
RyanLee-Dev deleted the speed-up-release-and-native-ci branch October 3, 2026 05:14
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.

1 participant