Skip to content

ci: check the optimized macOS link without timing it - #393

Merged
sepehr-safari merged 1 commit into
mainfrom
ci-checks-the-optimized-link-without-timing-it
Sep 25, 2026
Merged

sepehr-safari merged 1 commit into
mainfrom
ci-checks-the-optimized-link-without-timing-it

Conversation

@sepehr-safari

Copy link
Copy Markdown
Contributor

Closes #392

Replaces the macOS zig build test -Doptimize=ReleaseFast step from #390 with zig build model-contract -Doptimize=ReleaseFast.

  • The frame-budget test at 2048 follows measures ~8.0 ms on an M2 Pro (three runs: 7989, 8050, 8045 us) and 17.9 ms on the macOS runner, against a 16 ms budget, so the old step failed on timing, not code.
  • The model-contract tool links the same toolkit host as the test binary. Verified locally: with the main.zig link fix removed, this step fails with both _native_sdk_update_verify_* symbols undefined; with it, it passes. It runs no tests.
  • The Linux portability job still runs the full suite in ReleaseFast.

The ReleaseFast test step on the macOS runner ran the frame-time budgets on a shared VM roughly twice as slow as the machines they are set for: 17.9 ms against 16 there, 8 ms on an M2 Pro. It failed on timing with no code change. What the step was added for is the link (#389), and building the model-contract tool in ReleaseFast checks exactly that, since it carries the same toolkit host as the test binary, without running any tests. Removing the link fix makes it fail with the two undefined symbols; with the fix it passes. The Linux job keeps running the optimized suite.
@sepehr-safari
sepehr-safari merged commit 7bf89ff into main Sep 25, 2026
11 of 12 checks passed
@sepehr-safari
sepehr-safari deleted the ci-checks-the-optimized-link-without-timing-it branch September 25, 2026 09:32
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.

The macOS ReleaseFast test step fails on timing, not code

1 participant