When will Xcode Cloud use Apple Silicon machines for running workflows?

It seems that Xcode Cloud currently only uses Intel machines for running the workflow jobs. When will Apple Silicon machines be available and supported?

I too am interested in knowing if/when the transition from Intel to Apple Silicon would be planned for Xcode Cloud.

AFAIK Apple hasn’t made any official announcements in this space [1].

Just for my own curiosity, why do you need Apple silicon for this?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] And as far as things beyond that are concerned, see tip 3 in Quinn’s Top Ten DevForums Tips.

For our purposes we use various QA and automation tools for testing. One of which is Snapshot Testing (https://github.com/pointfreeco/swift-snapshot-testing) for detecting and flagging unexpected UI changes. Apparently the screenshots that Snapshot generates differ slightly when run from Intel v. Apple Silicon machines. This causes every test to fail (hundreds in our case). Our entire iOS developer team use Apple Silicon machines while Xcode Cloud does not, so this is problematic when running unit tests locally before pushing changes which get run on CI (Xcode Cloud). We eventually found a workaround but it seems odd (and counter-productive) for Apple to be pushing for adoption of their own Silicon machines but not using them for a significant platform like Xcode Cloud. Ideally our CI environment would always mirror our local environment. Hopefully Apple supports Apple Silicon in Xcode Cloud soon.

Forgot to include link to issue described above: https://github.com/pointfreeco/swift-snapshot-testing/issues/749

Thanks for your interest here, Quinn. Our interest lies in the fact that we have a third-party dependency that generates code for specific platforms. Up until recently that dependency was only building for x86_64 simulators alongside arm64 devices. With their recent update, they now produce an xcframework, which includes the simulator binaries for the platform on which it was built. They don't have an easy way (yet) to cross-complie and include both simulator platforms (x86_64 and arm64 iphonesimulator) alongside the arm64 iphoneos binary. We could invest in figuring this out, but with the signaling from Apple that Intel machines will disappear it is less than ideal investment of our time to figure it out.

At the moment we can use Xcode Cloud for archiving and submitting builds to TestFlight and the App Store, but not for running our unit test CI process for every pull request. We were hoping to move off our self-hosted GitHub Action runner to use Xcode Cloud exclusively, but until we can figure out the architecture issues for the simulator, we are stuck since our development machines are Apple Silicon.

someuser321123 wrote:

Apparently the screenshots that Snapshot generates differ slightly when run from Intel v. Apple Silicon machines.

Well, that was not the answer I was expecting! Thanks for sharing.

We eventually found a workaround

Cool.


dlewandaDK wrote:

Our interest lies in the fact that we have a third-party dependency that generates code for specific platforms.

And that’s definitely along the lines of what I was expecting. Again, thanks for sharing.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I'm also curious about this, and my reason is that the Xeon macs lack support for Metal. As a result visionOS app fails to build in Xcode Cloud with the following error.

I haven't tried it but, does this mean no app using Metal libraries can be built in Xcode Cloud, or is the build process in this case only failing because it's actually trying to run Metal to execute compileSkybox?

compileSkybox /Volumes/workspace/DerivedData/Build/Intermediates.noindex/ArchiveIntermediates/xxxx/InstallationBuildProductsLocation/Applications/xxxx.app/ImageBasedLighting.rclink /Volumes/workspace/repository/xxxx/ImageBasedLighting.skybox (in target 'xxxx' from project 'xxxx')
    cd /Volumes/workspace/repository
    /Applications/Xcode.app/Contents/Developer/usr/bin/rctool create skybox -skyboxPath\=/Volumes/workspace/repository/xxxx/ImageBasedLighting.skybox -o\=/Volumes/workspace/DerivedData/Build/Intermediates.noindex/ArchiveIntermediates/xxxx/InstallationBuildProductsLocation/Applications/xxxx.app

[91mError:[39m There is no available Metal device on this system.
Command compileSkybox failed with a nonzero exit code

Interesting.

Sadly, this is far outside of my area of expertise, so I don’t have a direct answer for you. My advice is that you start a new thread to see if you can attract folks who know more about this. Put it in Developer Tools & Services > Xcode Cloud, and also tag it with Metal.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

When will Xcode Cloud use Apple Silicon machines for running workflows?
 
 
Q