ReviewOS

zig-utils/zig-gc

CI: gate main with pinned Zig unit and TSan jobs

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

The repository has an active CI workflow registered from p7-parallel-marker, but .github/workflows/ci.yml is absent from main. Consequently current main pushes, including the batched allocation work in #15, receive no remote checks.

Scope:

  • restore the existing Linux workflow on main;
  • pin the same Zig 0.17.0-dev.956 toolchain used by zig-js and local validation;
  • run normal unit tests once;
  • keep the 20-iteration TSan loop for the concurrent/parallel collector;
  • allow push, pull-request, and manual dispatch triggers.

Acceptance:

  • a push to main starts both jobs;
  • unit and TSan jobs pass on the restored workflow;
  • document the resulting run on #15 before closing that dependency issue.
9 days ago

Restored the pinned Zig unit/TSan workflow on main in a659d66. The push immediately created both remote jobs, proving the main trigger is live: https://github.com/zig-utils/zig-gc/actions/runs/29364477008

Keeping this open until both jobs complete successfully.

9 days ago

The restored Linux gate exposed a real build declaration gap in https://github.com/zig-utils/zig-gc/actions/runs/29364477008: pthread_mutex_lock was reachable, but the test root module did not explicitly link libc. This was platform/build configuration, not allocator behavior.

Fixed narrowly in 6a12d5c by setting link_libc = true on the shared normal/TSan test module. Local zig build test passes. The superseding main run will verify Linux unit and 20x TSan.

9 days ago

Superseding corrected run: https://github.com/zig-utils/zig-gc/actions/runs/29364720539

The Linux unit job is now green. The 20-iteration TSan job is in progress; the stale pre-fix run was cancelled so it would not waste a runner repeating the known missing-libc compile failure.

9 days ago

Completed successfully: https://github.com/zig-utils/zig-gc/actions/runs/29364720539

Both restored main-branch gates are green:

  • Linux unit tests
  • Linux ThreadSanitizer, 20 iterations

The workflow now runs on main pushes, pull requests, and manual dispatch.

Sign in to comment on this issue.