ci: expand build matrix to Linux x86_64 / Linux aarch64 / macOS arm64#2
Merged
Conversation
Adds native-runner coverage on three platforms (ubuntu-latest x86_64, ubuntu-24.04-arm aarch64, macos-14 aarch64) plus a cross-compile sanity job that exercises four targets from the x86_64 host. Closes the hardware-class gap on the AGENT_HARNESS evidence ladder: the `hardware-verified` proof level can now reference real arm64 silicon for this substrate library. Type-I lens: matrix labels (`Linux aarch64`, `macOS arm64`) are accurate to the runner architecture GitHub provides; we are not claiming Apple M- series performance characteristics, only that the same Zig 0.16.0 build + test invocations run green on those native runners. Type-II lens: cross-compile sanity job catches platform regressions even if a native runner is offline or queued.
SMC17
added a commit
to SMC17/SMC17
that referenced
this pull request
May 14, 2026
…Zig repos zig-cobs / zig-frame-protocol / zig-graph / zig-h3 / sentinel-sbom each expanded from a single ubuntu-latest job to 3 native runners (Linux x86_64, Linux aarch64, macOS Apple Silicon) plus a 4-target cross-compile sanity job. The `hardware-verified` evidence level is no longer dormant. zig-h3's macOS-from-Linux cross-compile is restricted to Linux targets only — documented as a Zig 0.16.0 LLD-on-mach-o gap, not as a missing test. sentinel-sbom's macOS path also swaps `sha256sum` → `shasum -a 256`. Per-repo PRs: - zig-cobs SMC17/zig-cobs#2 - zig-frame-protocol SMC17/zig-frame-protocol#2 - zig-graph SMC17/zig-graph#2 - zig-h3 SMC17/zig-h3#2 - sentinel-sbom SMC17/sentinel-sbom#2 Honest incident: agent ran `git checkout README.md` while branching zig-cobs and discarded an uncommitted WIP. Reported instead of hidden. Matches the blast-radius-protection-is-substrate-primitive doctrine. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
eeac901 to
dd42e14
Compare
SMC17
added a commit
to SMC17/SMC17
that referenced
this pull request
May 14, 2026
…Zig repos zig-cobs / zig-frame-protocol / zig-graph / zig-h3 / sentinel-sbom each expanded from a single ubuntu-latest job to 3 native runners (Linux x86_64, Linux aarch64, macOS Apple Silicon) plus a 4-target cross-compile sanity job. The `hardware-verified` evidence level is no longer dormant. zig-h3's macOS-from-Linux cross-compile is restricted to Linux targets only — documented as a Zig 0.16.0 LLD-on-mach-o gap, not as a missing test. sentinel-sbom's macOS path also swaps `sha256sum` → `shasum -a 256`. Per-repo PRs: - zig-cobs SMC17/zig-cobs#2 - zig-frame-protocol SMC17/zig-frame-protocol#2 - zig-graph SMC17/zig-graph#2 - zig-h3 SMC17/zig-h3#2 - sentinel-sbom SMC17/sentinel-sbom#2 Honest incident: agent ran `git checkout README.md` while branching zig-cobs and discarded an uncommitted WIP. Reported instead of hidden. Matches the blast-radius-protection-is-substrate-primitive doctrine.
dd42e14 to
6409d08
Compare
SMC17
pushed a commit
to SMC17/SMC17
that referenced
this pull request
May 14, 2026
…Zig repos zig-cobs / zig-frame-protocol / zig-graph / zig-h3 / sentinel-sbom each expanded from a single ubuntu-latest job to 3 native runners (Linux x86_64, Linux aarch64, macOS Apple Silicon) plus a 4-target cross-compile sanity job. The `hardware-verified` evidence level is no longer dormant. zig-h3's macOS-from-Linux cross-compile is restricted to Linux targets only — documented as a Zig 0.16.0 LLD-on-mach-o gap, not as a missing test. sentinel-sbom's macOS path also swaps `sha256sum` → `shasum -a 256`. Per-repo PRs: - zig-cobs SMC17/zig-cobs#2 - zig-frame-protocol SMC17/zig-frame-protocol#2 - zig-graph SMC17/zig-graph#2 - zig-h3 SMC17/zig-h3#2 - sentinel-sbom https://github.com/SMC17/sentinel-sbom/pull/2 Honest incident: agent ran `git checkout README.md` while branching zig-cobs and discarded an uncommitted WIP. Reported instead of hidden. Matches the blast-radius-protection-is-substrate-primitive doctrine.
SMC17
added a commit
to SMC17/SMC17
that referenced
this pull request
May 15, 2026
…Zig repos zig-cobs / zig-frame-protocol / zig-graph / zig-h3 / sentinel-sbom each expanded from a single ubuntu-latest job to 3 native runners (Linux x86_64, Linux aarch64, macOS Apple Silicon) plus a 4-target cross-compile sanity job. The `hardware-verified` evidence level is no longer dormant. zig-h3's macOS-from-Linux cross-compile is restricted to Linux targets only — documented as a Zig 0.16.0 LLD-on-mach-o gap, not as a missing test. sentinel-sbom's macOS path also swaps `sha256sum` → `shasum -a 256`. Per-repo PRs: - zig-cobs SMC17/zig-cobs#2 - zig-frame-protocol SMC17/zig-frame-protocol#2 - zig-graph SMC17/zig-graph#2 - zig-h3 SMC17/zig-h3#2 - sentinel-sbom SMC17/sentinel-sbom#2 Honest incident: agent ran `git checkout README.md` while branching zig-cobs and discarded an uncommitted WIP. Reported instead of hidden. Matches the blast-radius-protection-is-substrate-primitive doctrine.
SMC17
added a commit
that referenced
this pull request
May 15, 2026
…#2) Adds native-runner coverage on three platforms (ubuntu-latest x86_64, ubuntu-24.04-arm aarch64, macos-14 aarch64) plus a cross-compile sanity job that exercises four targets from the x86_64 host. Closes the hardware-class gap on the AGENT_HARNESS evidence ladder: the `hardware-verified` proof level can now reference real arm64 silicon for this substrate library. Type-I lens: matrix labels (`Linux aarch64`, `macOS arm64`) are accurate to the runner architecture GitHub provides; we are not claiming Apple M- series performance characteristics, only that the same Zig 0.16.0 build + test invocations run green on those native runners. Type-II lens: cross-compile sanity job catches platform regressions even if a native runner is offline or queued. Co-authored-by: Sean Collins <sean@sunlitmoon.online>
SMC17
added a commit
that referenced
this pull request
May 15, 2026
…#2) Adds native-runner coverage on three platforms (ubuntu-latest x86_64, ubuntu-24.04-arm aarch64, macos-14 aarch64) plus a cross-compile sanity job that exercises four targets from the x86_64 host. Closes the hardware-class gap on the AGENT_HARNESS evidence ladder: the `hardware-verified` proof level can now reference real arm64 silicon for this substrate library. Type-I lens: matrix labels (`Linux aarch64`, `macOS arm64`) are accurate to the runner architecture GitHub provides; we are not claiming Apple M- series performance characteristics, only that the same Zig 0.16.0 build + test invocations run green on those native runners. Type-II lens: cross-compile sanity job catches platform regressions even if a native runner is offline or queued.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Expands CI from a single
ubuntu-latest(x86_64) job to a three-runner native matrix plus a four-target cross-compile sanity job:ubuntu-latest(x86_64, native) — current defaultubuntu-24.04-arm(aarch64, native) — newmacos-14(Apple Silicon aarch64, native) — newaarch64-linux-gnu,aarch64-macos,x86_64-linux-gnu,x86_64-macos) from the x86_64 hostWhy
Raises the tide on the
hardware-verifiedevidence level defined inAGENT_HARNESS.md. The frame protocol's wire format is explicitly little-endian; arm64 native runners exercise the same byte-order code path on an ISA where little-endian is also native, but the test is the cross-runner consistency: same fixture bytes, same CRC, on x86_64 + aarch64-linux + Apple Silicon.Local verification
zig build teston Linux x86_64 → PASS (21 unit + 100k random-wire fuzz + ~11k CRC bit-flip)zig build -Dtarget=aarch64-linux-gnuon Linux x86_64 → PASSzig build -Dtarget=aarch64-macoson Linux x86_64 → PASSzig fmt --check src/ build.zig→ PASSCaveats
zig-cobs. If the upstream zig-cobs CI matrix expansion exposes a regression on aarch64, it surfaces here too. That is the right shape: substrate failures cascade up.Type-I / Type-II audit
u32/u64reads from[]const u8) could land silently on x86_64 because unaligned access is cheap there. arm64 native runner is where this surfaces.Test plan