ReviewOS

zig-utils/zig-js

Build: pass the pinned Home tool path explicitly in CI build gates

#630
Closed chris opened this 9 days ago ·
9 days ago

Problem

CI checks out and builds the pinned Home runtime at $GITHUB_WORKSPACE/Home/lang/zig-out/bin/home-tool, but build-backed Home-tool gates can still resolve build.zig’s workstation fallback ($HOME/Code/Home/lang/zig-out/bin/home-tool). On GitHub-hosted runners that path does not exist.

Current failures:

Both jobs successfully build the pinned Home checkout first, then fail their Zig build run artifacts with exit 127 at /home/runner/Code/Home/lang/zig-out/bin/home-tool. Relying on ambient HOME_TOOL environment lookup is no longer sufficient with current Zig build behavior.

Required implementation

  • Pass -Dhome-tool="$GITHUB_WORKSPACE/Home/lang/zig-out/bin/home-tool" explicitly to every CI zig build gate that executes repository TypeScript tools.
  • Keep the local documented fallback for developer machines.
  • Avoid symlink/path workarounds and do not silently skip tool-backed gates.
  • Audit all workflow build invocations so direct and build-backed Home-tool calls use the same pinned checkout.

Acceptance

  • threads-reference-audit, threads-reference-probes, and benchmark-comparison-test execute the pinned CI binary.
  • No /home/runner/Code/Home fallback appears in their logs.
  • Dependency inventory and workflow YAML remain valid.

Parent: #494 Related: #461, #492, #626

9 days ago

Implemented in 7aabcd53. Every CI build-backed Home-tool gate now receives the built workspace binary through explicit -Dhome-tool=...; YAML and dependency audit pass, and a local harness run executed the exact supplied binary. That run also exposed the separate fail-closed V16 evidence drift tracked in #632. Keeping #630 open until the fresh reference-audit and benchmark CI legs confirm no workstation fallback remains.

9 days ago

Fresh threads-reference-audit passes with the explicit workspace Home binary, and the benchmark harness likewise invokes /home/runner/work/zig-js/zig-js/Home/lang/zig-out/bin/home-tool rather than the former workstation fallback. That harness now exposes a separate missing runtime dependency (rg: FileNotFound), tracked in #635. Keeping #630 open until the child restores the complete benchmark leg.

9 days ago

The CI dependency child #635 is implemented by b7db97b3. Home-enabled matrix legs now provision Pantry-pinned rg@15.1.0; the fresh benchmark harness will determine whether #630 can move past its environment failure and collect publication evidence.

9 days ago

Resolved by the explicit pinned Home-tool path work and the follow-up native ripgrep provisioning in #635. Fresh Linux CI confirms threads-reference-audit, benchmark-comparison-harness, focused engine tests, and the dependency audit all pass against the workspace checkout. No workstation /home/runner/Code/Home fallback is used.

Sign in to comment on this issue.