Repository navigation
Conversation
…trix Adds .github/workflows/ci.yml which runs `zig build test` and both offline smoke suites on a native runner for each released platform (linux x86_64/aarch64, macos x86_64/aarch64, windows x86_64) on PRs, master pushes, and v* tags — so platform regressions fail before a release is cut. `workflow_call` is exposed so the release workflow can gate on the matrix. Portability fixes to make that matrix green: - args.zig: parse() now takes a plain argv slice instead of std.process.Args, whose POSIX-only `.vector` field broke `zig build test` compilation for windows-gnu. main.zig materializes the platform argv (WTF-16 on Windows, UTF-8 on POSIX) into a UTF-8 slice itself. - smoke.sh: the acp group now pins both documented daemon contracts — exit 0 + running:false on POSIX, exit 111 err envelope on Windows — instead of failing on the Windows leg. - smoke.sh + smoke-features.sh: pass --api-key fake to checks exercising post-auth validation (fleet run without --goal, /goal without --session), so they are deterministic in keyless CI environments — key resolution precedes those checks and would exit 106 first. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This was referenced Oct 18, 2026
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
Adds
.github/workflows/ci.yml: the zig unit test suite (zig build test --summary all) and the offline smoke suites (scripts/smoke.sh,scripts/smoke-features.sh --offline) now run on a native GitHub-hosted runner for every platform the release workflow ships a binary for:ubuntu-latesttau-linux-x86_64ubuntu-24.04-armtau-linux-aarch64macos-15-inteltau-macos-x86_64macos-latesttau-macos-aarch64windows-latesttau-windows-x86_64Triggers:
pull_request, push tomaster,v*tag pushes (so the tagged commit is re-verified right at release time),workflow_dispatch, andworkflow_callso the release workflow can later gate publishing on this matrix.Portability fixes required to make the matrix green
src/args.zig/src/main.zig—parse()took astd.process.Args, whose POSIX-only.vectorfield brokezig build testcompilation forx86_64-windows-gnu.parse()now takes a plain[]const []const u8argv slice;mainmaterializes the platform argv itself (WTF-16 → UTF-8 viastd.process.Args.Iterator). This also keeps all ~30 parser tests running on Windows instead of being skipped.scripts/smoke.sh(acpgroup) —tau acp status/stop/startmanage a daemon via pid files + signals, which is POSIX-only and returns an exit-111{"err"}envelope on Windows. The group now pins both contracts: POSIX assertions unchanged; on Windows it asserts the 111 envelope and skips the daemon-state checks.scripts/smoke.sh+scripts/smoke-features.sh— checks that exercise post-auth validation (fleet runwithout--goal,/goalwithout--session, the code-82 envelope check) now pass--api-key fake. Key resolution precedes those validations, so in a keyless environment they exited 106 before reaching the path under test. The offline suite is now deterministic with zero API keys.Docs updated:
CONTRIBUTING.md,AGENTS.md,CHANGELOG.md.Verification
zig build test --summary all— 274/274 pass (Linux).zig build test -Dtarget=<x>— test binary compiles for all five release targets, includingx86_64-windows-gnu(fixed by theparse()change)../scripts/smoke.sh— 102 passed, 0 failed, 1 skipped in a keyless env (was 85/17/1 before the determinism fixes)../scripts/smoke-features.sh --offline— 26/0/0 (was 25/1/0).zig build -Dtarget=x86_64-windows-gnurelease build still compiles.macOS/Windows runtime behavior of the suite is intentionally verified by the workflow itself — that is the point of the matrix.
Closes #193 (mago task #193)