Runnable build gate on the review box: portable config + documented gate script (#16) #17

Merged
pbwraith merged 2 commits from issue-16 into main 2026-08-26 04:39:47 +02:00

2 Commits

Author SHA1 Message Date
pbwraith-worker
800495c912 fix(#16): wire provisioned cmake lib root + link/run tests in the gate (review bounce)
Some checks failed
Rust / build-linux (linux-x86_64, X64, ubuntu-24.04, x86_64-unknown-linux-gnu) (pull_request) Failing after 8s
Rust / build-android (29.0.14206865, ubuntu-24.04, 33) (pull_request) Failing after 5s
Rust-lint / lint-linux (pull_request) Failing after 21s
Rust / build-linux (linux-aarch64, ARM64, ubuntu-24.04-arm, aarch64-unknown-linux-gnu) (pull_request) Has been cancelled
Rust / build-windows (windows-aarch64, woa64, windows-11-arm, aarch64-pc-windows-msvc) (pull_request) Has been cancelled
Rust / build-windows (windows-x86_64, win64, windows-2025, x86_64-pc-windows-msvc) (pull_request) Has been cancelled
Rust / build-macos (macos-aarch64, ARM64, aarch64-apple-darwin) (pull_request) Has been cancelled
Rust / Collect release artifacts (pull_request) Has been cancelled
Review findings addressed (PR #17 bounce):
1. gate.sh put the provisioned cmake/ninja on PATH but never added their
   OWN lib root to LD_LIBRARY_PATH, so cmake died with exit 127
   (librhash.so.0 / libuv.so.1 / libjsoncpp.so.25 not found) and cmake-rs
   misreported 'is cmake not installed?'. The LLVM_BIN2 block now exports
   LD_LIBRARY_PATH=~/local-tools/root/usr/lib/x86_64-linux-gnu (same
   append pattern as the other two roots; final value carries all three).
2. The gate was compile-only. It now runs three steps: cargo check
   --all-targets (type-check), cargo test --no-run (LINK every test
   binary), cargo test --lib (EXECUTE headless lib unit tests).
3. docs/build-gate.md: prerequisites list the provisioned cmake's
   shared-lib root, the test-execution decision record, and the new
   troubleshooting entry.

Verified on the review box: cold full gate exits 0 (GATE_OK), step 1
check then 11m52s test-link codegen then 'running 0 tests / ok' (main has
no #[test] fns yet; the inbound netplay PRs add ~38); warm re-run 5.6s.
2026-08-25 16:21:01 -05:00
Claude
c30bb32bf9 gopher64-netplay#16: runnable build gate on the review box
Two blockers fixed in .cargo/config.toml plus a documented gate script:
- target-cpu=x86-64-v3 (AVX2-only) is now opt-in — the default build is
  portable; on Sandy Bridge (x86-64-v2) it miscompiled build scripts
  (num-traits SIGABRT, 648518346341351440-byte allocation).
- AR=llvm-ar dropped (GNU ar is fine); CC=clang/CXX=clang++ retained
  because build.rs needs clang for -flto=thin, resolved via PATH.

scripts/gate.sh records the review-box command: init submodules, wire the
user-local LLVM-18 / pkgconf / fontconfig-X11 roots (no sudo available),
then cargo check --all-targets. docs/build-gate.md explains the failure
modes. Verified: ./scripts/gate.sh exits 0 end-to-end on this box.
2026-08-25 16:21:01 -05:00