You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds sandbox-disabling Xcode/SPM build args to Apple runner build-for-testing paths so prepare ios-runner can build under outer sandbox tools such as sandbox-exec/ai-jail.
Keeps the runtime prepare path and standalone XCTest build script aligned, and records the sandbox build args in both runtime and script-written runner cache metadata so script-built caches remain reusable.
Focused runner unit coverage passes and asserts the sandbox args are forwarded to xcodebuild. The xctestrun metadata test also verifies the standalone metadata script matches runtime metadata. Static checks and package build pass. Verified locally with sandbox-exec -p "(version 1)(allow default)" pnpm ad prepare ios-runner --platform ios --session issue-868-prepare-review --timeout 240000 --debug; the command built with the new args and reported Prepared Apple runner: iPhone 17 Pro. Also ran the standalone pnpm build:xcuitest script path for iOS and macOS.
Touched files: 4. Scope stayed within the Apple runner build/cache path.
CI is currently blocking review: Unit Tests and Coverage both fail in src/platforms/ios/__tests__/runner-xctestrun.test.ts on setup metadata script matches expected iOS simulator cache metadata. The generated metadata is missing runnerSandboxBuildSettings, while the expected metadata includes the sandbox-disabling Xcode/SPM flags. Please fix that mismatch and rerun the checks before asking for review.
Reviewed — straightforward and correct. The 4 sandbox-disabling build settings are applied to both the standalone build-xcuitest-apple.sh and the runtime buildRunnerXctestrun path and kept in sync, and recording them in cache metadata (runnerSandboxBuildSettings) means a settings change correctly forces a one-time runner rebuild.
OTHER_SWIFT_FLAGS=$(inherited) -disable-sandbox is correctly treated as an xcodebuild build-setting token (not shell-expanded) in both the quoted shell form and the TS arg array, and the tests assert the flags reach xcodebuild. No concerns from me — just confirm CI goes green before merge.
Preview removed because the pull request was closed.
2026-06-25 08:18 UTC
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
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 sandbox-disabling Xcode/SPM build args to Apple runner build-for-testing paths so
prepare ios-runnercan build under outer sandbox tools such assandbox-exec/ai-jail.Keeps the runtime prepare path and standalone XCTest build script aligned, and records the sandbox build args in both runtime and script-written runner cache metadata so script-built caches remain reusable.
Closes #868
Validation
Focused runner unit coverage passes and asserts the sandbox args are forwarded to xcodebuild. The xctestrun metadata test also verifies the standalone metadata script matches runtime metadata. Static checks and package build pass. Verified locally with
sandbox-exec -p "(version 1)(allow default)" pnpm ad prepare ios-runner --platform ios --session issue-868-prepare-review --timeout 240000 --debug; the command built with the new args and reportedPrepared Apple runner: iPhone 17 Pro. Also ran the standalonepnpm build:xcuitestscript path for iOS and macOS.Touched files: 4. Scope stayed within the Apple runner build/cache path.