-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pre-install main iOS Simulators for all Xcode versions #551
Comments
Move the work item from https://github.com/microsoft/azure-pipelines-image-generation/issues/1199 because it is very popular and it is something that we would like to consider in future |
Hi, Are there any updates on this? According to above list, macos image only has iOS 13 as major version, which is pretty limited imo. Do you have any plan on maintaining additional previous major versions? Thanks |
We're also in need of this. Currently, installing the simulators take too long. |
A workaround we found is to symlink any simulators from the Xcode bundles they are part of to So based on the this list of simulators an iOS 12.4 device can be added as follows: - name: Prepare iOS 12 simulator
run: |
sudo mkdir -p /Library/Developer/CoreSimulator/Profiles/Runtimes
sudo ln -s /Applications/Xcode_10.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS\ 12.4.simruntime
xcrun simctl list runtimes
xcrun simctl create custom-test-device "iPad Pro (9.7-inch)" "com.apple.CoreSimulator.SimRuntime.iOS-12-4"
xcrun simctl list devices 12.4 |
Hello, we have investigated provided workaround with symlink simulators to CoreSimulator directory and it works without drawbacks.
|
I am also in favor of preinstalling the latest minor version of each major version of Xcode. I have been trying to find a way to test on an iOS 11 simulator but the versions of Xcode that are bundled do not have iOS 11 Simulator pre-packaged. Maybe the Even though the iPhones that had iOS 11 initially are discontinued, they are still supported. I believe it would be nice to still include iOS 11 in a test matrix until the phones are no longer supported. |
We'd like to move to Github Actions on the Blueprint repo, but we need to run our tests using the latest version of Xcode on simulators for iOS 10, 11, 12, 13 and 14. While it seems like we can set up an iOS 12 and 13 simulator, there's no way to install an iOS 10 or 11 one. We would definitely appreciate a way to install those, as well as an easier way to set up versions other than the primary version shipped with the Xcode version. |
Going to +1 this as well – our tests run on Xcode 12, but we deploy back to iOS 11 – so we need the sim runtimes of 14, 13, 12, and 11 installed to feasibly be able to use Github actions. My understanding is that these runtimes just need to be installed once when prepping the Xcode version image – and then everyone will be able to use them. |
Hi folks,
I am closing this issue, please, feel free to contact us in case of any other questions. |
Hey folks, I tried the above workaround and I'm able to list the runtime simulator. I must be missing something here. Please let me know if you find any missing peace or what am I doing wrong. |
We are facing the same issue as above. @zeeshankhan were you able to find a solution to this? |
Dear @maxim-lobanov During evaluation of GitHub Actions for our app, I ran in to the situation that on macOS-11 runner, only iOS 15 version is available in the simulators. Xcode ships simulators only with the newest iOS versions. However, for testing it is absolutely crucial to have simulators for several major versions of iOS on each runner: In practice it is never the case, that an App will only be deployed to the AppStore which runs only on the newest iOS version. The code to test can have several iOS version availability constraints. Some code only runs on the newest iOS versions, some other uses a fallback when run on older versions. So, we have to test this. Having to install the simulators with the iOS versions required for testing, simply takes too long and is no option, not even a temporary solution. So, for us, this is a bummer! So, we would be very happy if there will be a couple more iOS Simulators preinstalled on the runners. I would suggest to install the latest version for every major version which are available in the Simulator, for example, 13.6, 14.5, and 15.0. Also, the suggested workaround does not work in my case:
which will be called in the action:
which then exits with a failure:
Note: The path to As it turns out, there are too many subtleties with this workaround. So, this Issue should be reopened, and a viable solution should be found. |
|
It's increasingly clear that GitHub's current approach isn't sustainable and doesn't track how customers actually want to use the product, so the single OS images should be abandoned. Instead, GitHub should follow the approach of various other CI vendors and create Xcode versioned images. This increases the number of images but allows each to fully represent the capabilities of the Xcode version it contains. All simulators, the latest compatible tools, everything. Otherwise GitHub's macOS will continue becoming less and less competitive as the overall size of the image forces more and more compromise on the version of tools installed. |
GH actions will remove the macOS-10.15 image, which contains an iOS 12 simulator on 12/1/22; see actions/runner-images#5583. Neither the[ macOS-11](https://github.com/actions/runner-images/blob/main/images/macos/macos-11-Readme.md#installed-sdks) nor the [macOS-12](https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md#installed-sdks) image contains an iOS 12 simulator. GH [concluded](actions/runner-images#551 (comment)) to not add more pre-installed simulators. SauceLabs doesn't support running unit tests and adding another cloud solution as Firebase TestLab would increase the complexity of CI. Not running the unit tests on iOS 12 opens a risk of introducing bugs, which has already happened in the past, especially with swizzling. Therefore, we give manually installing the iOS 12 simulator a try. Fixes GH-2218
Tool information
Context
For now only default iOS simulators are installed on macOS images. The list of pre-installed simulators is located in macOS High Sierra docs and macOS Mojave docs.
Sometimes customers need to use non-default simulators (like iOS 11 simulators for Xcode 10.3). For now they have to use xcversion tool to install those simulators during the build. It takes some time and it would be great to pre-install some simulators for all Xcode versions.
Suggestion
Pre-install the latest minor version of each major version of Xcode (like 10.3.2, 11.4).
This issue was created to track customers' interest for this feature.
Area for Triage:
Apple
Question, Bug, or Feature?:
Feature request
Virtual environments affected
Can this tool be installed during the build?
The command
xcversion simulators --install='iOS <VERSION>'
can be used to install specific simulator for all Xcode versions.The text was updated successfully, but these errors were encountered: