Skip to content

ci: parallelize CI, cargo-nextest, gate timing tests, convert to zx#261

Merged
NathanFlurry merged 1 commit into
mainfrom
ci-parallelize
Jul 4, 2026
Merged

ci: parallelize CI, cargo-nextest, gate timing tests, convert to zx#261
NathanFlurry merged 1 commit into
mainfrom
ci-parallelize

Conversation

@NathanFlurry

@NathanFlurry NathanFlurry commented Jul 3, 2026

Copy link
Copy Markdown
Member
  • Split the serial CI job into parallel jobs (js-checks, rust-lint, rust-test, js-test) + a wasm-commands job that builds the guest command binaries once and shares them via an artifact
  • Add per-job caching (rust-cache, pnpm store, rusty_v8) and cancel-in-progress on PR refs
  • Switch the Rust suite from cargo test --test-threads=1 to cargo-nextest (one process per test), isolating the process-global V8/Pyodide platform, warm-isolate pool, module caches, and env that forced serial execution. Test flock is a no-op and the sidecar compile cache is per-process. Doctests run via cargo test --doc; a 600s override covers the Pyodide suites
  • Gate timing-sensitive wall-clock assertions behind SECURE_EXEC_RUN_TIMING_TESTS (skipped by default, enforced in a serial nightly lane); safeguard-fired assertions stay in the default suite
  • Move network e2e and the #[ignore]d resource-saturation + timing tests into a new ci-nightly.yml
  • Convert scripts/ci.sh to scripts/ci.mjs (zx); each job runs a phase via npx zx scripts/ci.mjs
  • Document the test-parallelism policy in CLAUDE.md

@railway-app railway-app Bot temporarily deployed to secure-exec / secure-exec-pr-261 July 3, 2026 19:50 Destroyed
@railway-app railway-app Bot temporarily deployed to secure-exec / secure-exec-pr-261 July 3, 2026 19:56 Destroyed
@railway-app

railway-app Bot commented Jul 3, 2026

Copy link
Copy Markdown

🚅 Environment secure-exec-pr-261 in rivet-frontend has no services deployed.


🚅 Deployed to the secure-exec-pr-261 environment in secure-exec

Service Status Web Updated (UTC)
secure-exec 😴 Sleeping (View Logs) Web Jul 4, 2026 at 7:07 pm

@railway-app railway-app Bot temporarily deployed to secure-exec / secure-exec-pr-261 July 3, 2026 20:24 Destroyed
@NathanFlurry NathanFlurry changed the title ci: parallelize CI and move expensive coverage to nightly ci: parallelize CI, switch to cargo-nextest, gate timing tests Jul 3, 2026
@railway-app railway-app Bot temporarily deployed to secure-exec / secure-exec-pr-261 July 3, 2026 20:55 Destroyed
@railway-app railway-app Bot temporarily deployed to secure-exec / secure-exec-pr-261 July 3, 2026 21:39 Destroyed
@NathanFlurry NathanFlurry changed the title ci: parallelize CI, switch to cargo-nextest, gate timing tests ci: parallelize CI, cargo-nextest, gate timing tests, convert to zx Jul 3, 2026
@railway-app railway-app Bot temporarily deployed to secure-exec / secure-exec-pr-261 July 3, 2026 23:59 Destroyed
@railway-app railway-app Bot temporarily deployed to secure-exec / secure-exec-pr-261 July 4, 2026 00:15 Destroyed
@railway-app railway-app Bot temporarily deployed to secure-exec / secure-exec-pr-261 July 4, 2026 02:27 Destroyed
@railway-app railway-app Bot temporarily deployed to secure-exec / secure-exec-pr-261 July 4, 2026 17:08 Destroyed
@railway-app railway-app Bot temporarily deployed to secure-exec / secure-exec-pr-261 July 4, 2026 17:53 Destroyed
@railway-app railway-app Bot temporarily deployed to secure-exec / secure-exec-pr-261 July 4, 2026 19:01 Destroyed
…orkflows on self-hosted agentos-builder pool

- Split the serial CI into parallel jobs (js-checks, rust-lint, rust-test,
  js-test) + a wasm-commands artifact job.
- Switch the Rust suite to cargo-nextest (process-per-test); flock no-op +
  per-process compile cache; timing tests gated behind SECURE_EXEC_RUN_TIMING_TESTS.
- Convert scripts/ci.sh to scripts/ci.mjs (zx).
- Run all heavyweight workflows (ci, bench, ci-nightly, and the x64 publish build)
  on the self-hosted agentos-builder pool instead of GitHub-hosted runners; the
  persistent on-disk target/ + shared CARGO_HOME + sccache replace the GHA cache
  steps. arm64 publish + the lightweight context/publish jobs stay on GitHub.
- Document the test-parallelism policy in CLAUDE.md.
@railway-app railway-app Bot temporarily deployed to secure-exec / secure-exec-pr-261 July 4, 2026 19:24 Destroyed
@NathanFlurry NathanFlurry merged commit b4a9191 into main Jul 4, 2026
7 of 9 checks passed
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