Skip to content

feat(testing): Add headless launch mode#435

Merged
cameroncooke merged 3 commits into
mainfrom
feat/headless-launch-mode
Jun 1, 2026
Merged

feat(testing): Add headless launch mode#435
cameroncooke merged 3 commits into
mainfrom
feat/headless-launch-mode

Conversation

@cameroncooke
Copy link
Copy Markdown
Collaborator

Add an opt-in headless launch policy for automated runs that should not steal macOS focus.

When XCODEBUILDMCP_HEADLESS_LAUNCH is enabled, macOS app launches use background open -g, Simulator.app GUI launches are skipped while still booting the runtime through simctl, and keyboard shortcuts fail with a clear foreground-focus requirement. Snapshot tests enable this automatically so local and CI-style runs are less disruptive.

This also tightens UI automation next-step targeting, moves snapshot helper coverage into non-snapshot tests, normalizes additional Xcode/simulator variability in fixtures, and adds a directory runner for Claude UI benchmark suites.

Validated locally with npm run lint, npm run format:check, npm run typecheck, npm run build, and npm run test.

Add an opt-in headless launch policy that prevents macOS and simulator
launches from stealing focus during automated runs.

Update UI automation guidance, snapshot normalization, benchmark suite
execution, and fixtures so snapshot and unit tests remain stable across
current simulator and Xcode environments.
@cameroncooke cameroncooke marked this pull request as ready for review May 31, 2026 19:12
Comment thread CHANGELOG.md
Pin Claude UI benchmark suites to the expected model and record model,
Claude Code, and timing metadata in benchmark output. Tighten suite
prompts and tool guidance so benchmark runs follow the intended baseline
sequences.

Increase post-action snapshot settle headroom to reduce timing-sensitive
UI automation recovery after action tools, and refresh simulator list
fixtures after removing stale Claude UI benchmark simulators.

Co-Authored-By: OpenAI Codex <noreply@openai.com>
Comment thread src/snapshot-tests/__tests__/json-normalize.test.ts
Comment thread src/snapshot-tests/__tests__/json-normalize.test.ts
Allow snapshot normalizer tests to inject the temp directory used for path normalization.
This keeps artifact path expectations stable across macOS and Linux CI hosts.

Co-Authored-By: OpenAI Codex <codex@openai.com>
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Jun 1, 2026

Open in StackBlitz

npm i https://pkg.pr.new/xcodebuildmcp@435

commit: bc2d70e

@cameroncooke cameroncooke merged commit 59d5ca3 into main Jun 1, 2026
53 checks passed
@cameroncooke cameroncooke deleted the feat/headless-launch-mode branch June 1, 2026 18:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant