Virtual-environments: Add support for Xcode 12 (iOS 14)

Created on 15 Sep 2020  ·  18Comments  ·  Source: actions/virtual-environments

Tool information

  • Tool name: Xcode 12
  • Add or update? Add
  • Desired version: latest
  • Approximate size:
  • If this is an add request:
Apple macOS feature request

Most helpful comment

@maxim-lobanov Any chance that we could get this fast-tracked? As far as I'm aware, it's necessary for creating iOS 14 compatible app builds and iOS 14 was released to the general public today.

All 18 comments

Hello @zevmo , we have already started to work on updating Xcode 12 beta 6 to Xcode 12 GM on images. We are expecting new image to be deployed early next week

Awesome! Thanks @maxim-lobanov

Hello @zevmo , we have already started to work on updating Xcode 12 beta 6 to Xcode 12 GM on images. We are expecting new image to be deployed early next week

@maxim-lobanov Please do NOT replace Xcode 12b6 with the GM seed! The GM seed does not have Big Sur SDK support, so workflows that are targeting Apple Silicon and/or Big Sur need to keep using Xcode 12b6.

Apple's notes say "Xcode 12 includes everything you need to create amazing apps for all Apple platforms. Includes the latest SDKs for iOS, watchOS, and tvOS, and macOS Catalina. For development on macOS Big Sur or to support Apple silicon, continue to use Xcode 12 beta 6."

Apple pushed a second GM seed late this evening, build 12A7209 instead of ...08. Please download the new one (shasum 1b69c0f8e7b35c1456211143bbb06c671fcfaaec instead of bc0a...) if you downloaded the GM before 7pm Pacific time on Tuesday September 15th.

@eschwieb , thank you for your input!
We will install both Xcode 12 beta 6 and Xcode 12 GM on image side by side.

@maxim-lobanov Any chance that we could get this fast-tracked? As far as I'm aware, it's necessary for creating iOS 14 compatible app builds and iOS 14 was released to the general public today.

Hello everyone!

We are on way to deploy new image that contains both Xcode 12 (12A7209) and Xcode 12 beta 6.

  • Xcode 12 (12A7209) is located on path: /Applications/Xcode_12.app
  • Xcode 12 beta 6 is located on path: /Applications/Xcode_12_beta.app

All Azure DevOps machines has already been updated and contain new image.
GitHub Actions deployment is still in progress (some machines can contain an updated image, but some machines old one) and we are expecting deployment to be finished in 3-4 hours.

The new image with stable Xcode 12 has been deployed! Xcode 12 beta 6 is also on the image.

@zevmo I'm going to close the issue. Feel free to contact us if you have any concerns.
Thank you!

Thank you‼️

On Sat, Sep 19, 2020 at 6:03 AM Mikhail Timofeev notifications@github.com
wrote:

>
>

The new image with stable Xcode 12 has been deployed! Xcode 12 beta 6 is
also on the image.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/actions/virtual-environments/issues/1599#issuecomment-695193777,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AORRNBDF62IW6IJAKW4PFWTSGR6XTANCNFSM4RNU5BMQ
.

--
Henry P. Briffel

This message and any attachment are confidential. If you are not the
intended recipient, please telephone or email the sender and delete the
message and any attachment from your system. If you are not the intended
recipient you must not copy this message or attachment or disclose the
contents to any other person.

Is "Apple Silicon" cross-compilation supposed to work by now? I cannot compile the most basic Hello World with Xcode 12b6:

cc --version
Apple clang version 12.0.0 (clang-1200.0.31.1)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Applications/Xcode_12_beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
cc main.c -o x86_app -target x86_64-apple-macos10.12
cc main.c -o arm_app -target arm64-apple-macos11
In file included from main.c:1:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:68:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
#error Unsupported architecture

@alexhultman no, Apple Silicon support was removed from Xcode 12.0. It ships with the macOS 10.15 Catalina SDK.

Apple Silicon support was moved to the Xcode 12.2 beta, which includes the macOS 11 SDK.

New image with Xcode 12.2 beta should be available in 1 day

what's the default version of Xcode? At the moment, when I use xcodebuild I don't see macos-arm64 symbols. Do I need to use xcode-select -switch? If so, what should be the path and shouldn't it make sense to always have selected the last version by default?

This is how I do: https://github.com/alexhultman/macOS-ARM64-build

I don't have the actual M1 computer to test it, but it does generate a binary

@alexhultman this is what I’m talking about, you do sudo xcode-select -switch /Applications/Xcode_12.2.app. Wouldn’t it make sense to have the last version of Xcode as default in the macOS image? Otherwise we’ll need to be modifying the version ourselves and it could eventually fail if that version is removed from the image.

It makes a lot of sense to some people (indie?). not so much for others (enterprise?). Opinions come in a wide spectra and you can never satisfy every opinion.

@fermoya , based on our experience, updating default Xcode right after release new version brings a lot of pain and customers' complains since their builds can not be adapted for this. So I always suggest to specify exact version in your pipeline to be more resistant to image updates and image "default".
The list of all Xcode versions with paths can be found in documentation: https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md#xcode
As an alternative solution, you can use setup-xcode GitHub Action with "latest-stable" keyword.

Usually, we change default version in a few weeks after release. We are planning to set Xcode 12.2 as default in a week: https://github.com/actions/virtual-environments/issues/2056

Was this page helpful?
0 / 5 - 0 ratings

Related issues

trajano picture trajano  ·  3Comments

adamsiembida picture adamsiembida  ·  3Comments

Tnze picture Tnze  ·  4Comments

shogo82148 picture shogo82148  ·  3Comments

frankieroberto picture frankieroberto  ·  4Comments