Skip to content

refactor: split runner xctestrun module - #1062

Merged
thymikee merged 1 commit into
mainfrom
codex/split-runner-xctestrun
Jul 3, 2026
Merged

refactor: split runner xctestrun module#1062
thymikee merged 1 commit into
mainfrom
codex/split-runner-xctestrun

Conversation

@thymikee

@thymikee thymikee commented Jul 3, 2026

Copy link
Copy Markdown
Member

Summary

Split the Apple runner xctestrun god module into focused modules for artifact build/discovery/env prep, cache evaluation, cache metadata fingerprinting, and XCTestDevices redirection while preserving the consumed runner-xctestrun import surface.

Rebased onto latest origin/main so the moved toolchain fingerprint cache uses the shared TTL memo from #1060, and tightened the new module exports to satisfy Fallow.

Closes #1041

Touched files: 6.

Validation

Ran pnpm format, pnpm check:quick, pnpm exec vitest run src/platforms/apple/core/__tests__ (22 files, 405 tests), and pnpm check:fallow --base origin/main.

Swift runner code was not changed, so pnpm build:xcuitest was not run.

Residual risk: CI is rerunning on the pushed rebased head.

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

Size Report

Metric Base Current Diff
JS raw 1.5 MB 1.5 MB +202 B
JS gzip 483.6 kB 483.7 kB +12 B
npm tarball 585.4 kB 585.4 kB +13 B
npm unpacked 2.1 MB 2.1 MB +202 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 27.6 ms 27.4 ms -0.1 ms
CLI --help 46.9 ms 47.2 ms +0.3 ms

Top changed chunks:

Chunk Raw diff Gzip diff
dist/src/9722.js +202 B +12 B

@thymikee thymikee left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: LGTM. The acceptance bar from #1041 is met precisely: runner-xctestrun.ts is a 3-line barrel; cache (443) / artifact (519) / device-set (256) plus the env and metadata satellites all land under the 600-line ceiling, and import sites are untouched. 403 apple-core tests, provider 87/87, typecheck — all green locally.

Merge-order note for the maintainer: #1060 (TTL memo) edits the fingerprint cache inside the pre-split runner-xctestrun.ts; this PR relocates that code. Whichever merges second must rebase — mechanically trivial but not auto-mergeable. Suggest #1060 first (small), then rebase this split on top so the moved code carries the memo migration with it.

@thymikee
thymikee force-pushed the codex/split-runner-xctestrun branch from d196aeb to ea9e8b4 Compare July 3, 2026 10:30
@thymikee

thymikee commented Jul 3, 2026

Copy link
Copy Markdown
Member Author

Coordinator re-review: no actionable blockers on current head ea9e8b4. CI is green (21/21). The rebased split still keeps runner-xctestrun.ts as a barrel while preserving the runner build/cache/env/device-set seams in focused Apple-runner modules. Merge-readiness is for maintainer judgment; no live device path changed beyond the existing runner artifact preparation behavior.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Jul 3, 2026
@thymikee
thymikee merged commit 2adf3d5 into main Jul 3, 2026
21 checks passed
@thymikee
thymikee deleted the codex/split-runner-xctestrun branch July 3, 2026 11:10
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-07-03 11:11 UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Split runner-xctestrun.ts into cache / artifact / device-set-redirect modules

1 participant