Repository navigation
feat(capture): the simulator screen program ships universal, so Intel workers stream - #1185
Open
AndrewBeniston wants to merge 1 commit into
Open
AndrewBeniston wants to merge 1 commit into
AndrewBeniston wants to merge 1 commit into
Conversation
… workers stream The simulator program runs on the worker's own CPU. An Intel Mac or an x86_64 macOS VM is a worker too, but dist/bin/simlock-screen-capture was arm64 only, so the console stream and lease input could not start there. Build it with --arch arm64 --arch x86_64 and copy the universal binary from apple/Products/Release. The device program needs Xcode 27, which runs on Apple silicon only, so it still builds for the host alone.
This branch has not been deployed
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.
Refs #1184.
Why
The simulator screen program runs on the worker's own CPU. An Intel Mac, or an x86_64 macOS VM, is a worker too. But
dist/bin/simlock-screen-capturewas arm64 only, so the console stream and lease input could not start on those workers.Change
scripts/build-capture.mjsonly:simlock-screen-capturebuilds with--arch arm64 --arch x86_64. With more than one--arch, SwiftPM uses Xcode's build system, so the script copies the binary fromapple/Products/Releaserather thanrelease/.simlock-device-capturestill builds for the host alone. It needs Xcode 27, which runs on Apple silicon only.Checked
On a macOS 26.7 x86_64 VM, with Xcode 26.6:
node scripts/build-capture.mjsbuiltdist/bin/simlock-screen-capturein 31 s, andlipo -archsprintsx86_64 arm64. The device program failed withno such module 'CoreDevice', as expected without Xcode 27, and the script went on. That is the behaviour it was designed for.oxfmt --checkandoxlintpass on the file.Not checked: the build on the Apple silicon release runner with Xcode 27. I expect its cross-build to x86_64 to work, but I have not run it.
If your
triage-bugordeliverflow would rather own this change, please take the patch or close this pull request. The Issue holds the evidence.