Repository navigation
ci(process-daemon): run the pipe tests on macOS - #61277
Conversation
There was a problem hiding this comment.
Looks good. #60697 has landed on dev, so the effective diff is now just the --test pipe addition to the macOS step. tests/pipe.rs is #![cfg(unix)] and Cargo discovers it automatically, so the target exists and builds on macOS. I couldn't run the step here (no cargo or macOS), so the macOS CI run on this PR will be the real check. The three-dot diff still shows #60697's commits because the branch hasn't been rebased since the squash merge; rebasing onto dev would leave only the workflow change.
Public API: unchanged (CI workflow only).
b029430 to
2f30a2b
Compare
There was a problem hiding this comment.
Looks good. The rebase onto dev leaves only the --test pipe addition to the macOS step, which addresses my earlier note about #60697's commits still showing in the diff. I couldn't run it here (no cargo or macOS), so the macOS CI run on this PR is the real check.
Public API: unchanged (CI workflow only).
Brings in 132 upstream commits (upstream tip 2e8a861 "ci(process-daemon): run the pipe tests on macOS (anomalyco#61277)"). Conflict resolutions ==================== - core/src/tool/plugin/opencode.ts: import collision. Kept the fork's `Option` (session roots system hint) and upstream's new `toolFailure`. - core/src/tool/plugin/read.ts: import collision. Kept the fork's `InstructionDiscovery` (instruction filenames walk) and upstream's `Permission`. - core/test/tool-shell.test.ts: upstream restructured the background-shell tests (Effect.acquireUseRelease -> withTempDir), re-indenting every line. The fork's only change in this file is the Cancel-tool hint in two expected background-output texts, so took upstream's file and re-applied those two lines. Fixes for bad auto-merges ========================= - core/src/session/prompt.ts and core/src/tool/plugin/skill.ts: upstream now passes a skill's in-memory files to Skill.prepare via `Skill.Service.files(id)`, using a `skillService` / `skills` binding that the fork had replaced with SessionRoots.skill. Bound Skill.Service again in both places. Root skills are on disk and are not registered in Skill.Service, so files() returns undefined for them and prepare scans the directory, as before. - core tests: upstream's PluginHost.make now takes a plugin id; the fork's custom.test.ts and tool-opencode.test.ts pass "test" like upstream's tests. tool-skill.test.ts adds Skill.node to the skill tool's deps. Generated files =============== - Regenerated packages/protocol/openapi.json and the client. Git's text merge kept everything the fork had, but upstream added new sections that enumerate every event (for example Session.Event.Durable); upstream's copies only list upstream events. Regeneration adds the fork's session.root.added/removed events, the session `roots` field and Session.ForkDestination there. Verification ============ - bun install; bun turbo typecheck: 35/35; oxlint 0 errors - bun script/migration.ts --check: no schema changes - make tests: tui 190, core 465, schema 7, sdk 3 pass, 0 fail - tool-shell.test.ts + tool-skill.test.ts: 59 pass, 2 fail. The 2 ("conditional substitutions respect once/always", bash "wait: pid ... is not a child of this shell") fail identically on a clean checkout of the upstream tip on macOS, so they are upstream's, not the merge's.
Issue for this PR
Closes #
Type of change
What does this PR do?
Adds
--test pipeto the macOS test step incheck-process-daemon.yml, so the pipe-process tests from #60697 run on macOS CI too. Linux CI already runs them, because it runscargo test --lockedwith every test target.The macOS step lists its test targets explicitly (it skips the playground, matching the release workflow), so a new target has to be added by hand. Split out of #60697 so the workflow change gets its own review.
tests/pipe.rscame in with #60697, which is merged, so this can land on its own.How did you verify your code works?
Ran the same command locally on macOS against
devwith #60697:cargo test --locked --lib --test service --test runtime --test ownership --test pipe --test rows --test ghostty-effectspasses.Checklist