Using Python and Fastlane with Xcode Cloud

Our current CI/CD pipeline uses Xcode Server for UI Testing and makes heavy use of custom scripts (Python) in pre-integration triggers. We also use fastlane to manage our provisioning profiles and in our post-integration triggers to upload builds to TestFlight.

Can we continue using Python and fastlane in Xcode Cloud?

We think Xcode Cloud is a huge improvement over Xcode Server but without Python and fastlane support, switching over may not make sense for us right away.

Replies

Hi @jabhiji,

Great question!

I don't know the specifics of what exactly you're doing so I'll be giving a bit of a generic answer since everyone's usage varies a lot.

Can we continue using Python [...] in Xcode Cloud?

The temporary build environment Xcode Cloud uses comes with the Python version that ships with the macOS you configure with the Environment setting you configure for your workflow. Additionally, you can use homebrew to install a different version of Python. So, the answer is: likely yes.

Can we continue using [...] fastlane in Xcode Cloud?

The temporary build environment Xcode Cloud uses doesn't come with fastlane installed, so you'd have to manually install it using Homebrew. However, note that Xcode Cloud comes with support for uploading builds to TestFlight so I'm not sure what the usecase would be for continuing to use fastlane for uploading a build. Additionally Xcode Cloud uses automatic signing and doesn't support manual signing. So, the answer is: possibly but your mileage may vary depending on your use case.

For documentation on installing dependencies and third-party tools, check out Making Dependencies Available to Xcode Cloud.