Repository navigation
CI on the supported platforms: Ubuntu 24.04 and macOS 26 - #39
Merged
Merged
Conversation
Pin the format, lint and test job to ubuntu-24.04 and add a job that runs the test suite on a macos-26 Apple Silicon runner, the platforms 0.1.0 supports. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On macOS the temp directory is under /var, a symlink to /private/var, so paths git reports didn't match the ones the tests built. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It's what path() builds on; the TempDir is only kept to delete it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
JacobStephens2
marked this pull request as ready for review
September 25, 2026 15:34
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
On macOS the only thing that failed was the test harness.
$TMPDIRis under/var, which is a symlink to/private/var. git reports the resolved path, so the worktree path a test expected no longer matched.Scenarionow resolves its temp root once, andpath()builds on the resolved path:pub struct Scenario { - root: TempDir, + _temp_dir: TempDir, // only kept to delete the temp root on drop + root: PathBuf, // temp root with symlinks resolved, as git reports it }No product code changed. Process-group signalling, hostname lookup and the Python fakes for
ghandclaudeall worked on macOS without changes.Evidence
test-macosfailed with 1 of 11 failing infresh_run, and cargo stopped before running the remaining test binaries:test(ubuntu-24.04) andtest-macos(macos-26) both pass on this PR, with the full suite on each.Merge Danger
Door: two-way
Only CI config and the test harness change. A revert undoes it.
Blast Radius: CI
PRs now also wait on a macOS job, about 1 to 1.5 minutes per run. Runner images no longer move forward with
-latest, so moving to a new image means bumping the label by hand.Unaddressed findings
Standards
test-macosrepeats the checkout, toolchain, cache and test steps fromtest. A matrix could share them. Skipped. It's four short steps. A matrix would needif: runner.os == 'Linux'guards on fmt and clippy, which is harder to read than two plain jobs.Spec
None.
Closes #32
🤖 Generated with Claude Code