Skip to content
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

Update Xcode 14 #6199

Closed
4 of 12 tasks
knox opened this issue Sep 8, 2022 · 25 comments
Closed
4 of 12 tasks

Update Xcode 14 #6199

knox opened this issue Sep 8, 2022 · 25 comments

Comments

@knox
Copy link

knox commented Sep 8, 2022

Tool name

Xcode 14

Tool license

Apple

Add or update?

  • Add
  • Update

Desired version

14 Release Candidate

Approximate size

No response

Brief description of tool

An update to the latest version is desired to build and publish for the new iOS 16 which will be released to the public on sep 12th

Apps for the following platforms built using Xcode 14 Release Candidate can now be submitted to the App Store:

* iOS 16 and iPadOS 16
* tvOS 16
* watchOS 9

https://developer.apple.com/news/releases/?id=09072022h

URL for tool's homepage

https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes

Provide a basic test case to validate the tool's functionality.

No response

Platforms where you need the tool

  • Azure DevOps
  • GitHub Actions

Virtual environments where you need the tool

  • Ubuntu 18.04
  • Ubuntu 20.04
  • Ubuntu 22.04
  • macOS 10.15
  • macOS 11
  • macOS 12
  • Windows Server 2019
  • Windows Server 2022

Can this tool be installed during the build?

No response

Tool installation time in runtime

No response

Are you willing to submit a PR?

No response

@al-cheb al-cheb added awaiting-deployment Code complete; awaiting deployment and/or deployment in progress OS: macOS and removed needs triage labels Sep 8, 2022
@al-cheb
Copy link
Contributor

al-cheb commented Sep 8, 2022

Hello @knox.
We are planning to start new deployment next week with latest Xcode.

@knox
Copy link
Author

knox commented Sep 8, 2022

Thanks @al-cheb for your quick response.

To be honest "next week" seems a bit late to me. I believe many people want to be ready with their apps adapted to or made for iOS 16 when it is released to the public. Which is announced for sep 12th. Apple has just opened up the chance for building and publishing apps with the release of the Xcode RC today.

@enricenrich
Copy link

I agree with @knox.

@al-cheb The release of iOS 16, iPadOS 16, watchOS 9, and tvOS 16 will happen on Monday, September 12th. To ensure that our updates are ready for that date, we must submit the builds with the Xcode 14 RC build before tomorrow. We can't wait until next week.

@dockay
Copy link

dockay commented Sep 8, 2022

@al-cheb I can not emphasize more, that we really need the Xcode 14 RC asap, as we need to submit our apps prior to the iOS 16 release to the public on Monday.

@miketimofeev
Copy link
Contributor

Considering the importance of this update we will start the rollout today and finish it by tomorrow.

@miketimofeev miketimofeev self-assigned this Sep 8, 2022
@dungi
Copy link

dungi commented Sep 8, 2022

Thank you @miketimofeev

@miketimofeev
Copy link
Contributor

We have deployed the new image with the Xcode 14 RC on board, however, it turned out that to continue developing apps for macOS Ventura Xcode 14 beta is required (see comment #6201 (comment)) so we will deploy the new image with both Xcodes early next week.

@bdrelling
Copy link

bdrelling commented Sep 9, 2022

@miketimofeev I'm seeing an extremely weird issue that I'm not sure how to explain.

On macos-12 with Xcode 14.0, when I run xcodebuild -showdestinations on GitHub Actions, I see the following devices for watchOS simulator. As a note, I replaced platform:watchOS Simulator, id:ABCD, OS:9.0 in each output with ... to emphasize the differences in the name property.

{ ... name:Apple Watch SE (44mm) (2nd generation) }
{ ... name:Apple Watch Series 5 (40mm) }
{ ... name:Apple Watch Series 5 (44mm) }
{ ... name:Apple Watch Series 6 (40mm) }
{ ... name:Apple Watch Series 6 (44mm) }
{ ... name:Apple Watch Series 7 (41mm) }
{ ... name:Apple Watch Series 7 (45mm) }
{ ... name:Apple Watch Series 8 (41mm) }
{ ... name:Apple Watch Series 8 (45mm) }
{ ... name:Apple Watch Ultra (49mm) }

But when I run xcodebuild -showdestinations locally (on two different machines), I see the following output. Notice that Apple Watch Series 5, 6, and 7 all do not have parenthesis () around the size.

{ ... name:Apple Watch SE (44mm) (2nd generation) }
{ ... name:Apple Watch Series 5 - 40mm }
{ ... name:Apple Watch Series 5 - 44mm }
{ ... name:Apple Watch Series 6 - 40mm }
{ ... name:Apple Watch Series 6 - 44mm }
{ ... name:Apple Watch Series 7 - 41mm }
{ ... name:Apple Watch Series 7 - 45mm }
{ ... name:Apple Watch Series 8 (41mm) }
{ ... name:Apple Watch Series 8 (45mm) }
{ ... name:Apple Watch Ultra (49mm) }

For running tests via xcodebuild test, an exact simulator name has to be specified, but the two don't match. This causes a problem in the event that tests rely on, for example, Apple Watch Series 6 - 44mm, as the same script won't be able to run remotely without a workaround (eg. checking an environment variable to identify GitHub Actions and changing the model).

I can verify that the macos-12 runner has the correct version of Xcode 14.0, using setup-xcode as an example:

> Run maxim-lobanov/setup-xcode@v1
Switching Xcode to version '14.0'...
Xcode is set to 14.0.0 (14A309)

And it matches my local version:

$ xcodebuild -version
Xcode 14.0
Build version 14A309

The only thing I can think of that would be different is that the method for installing simulators might be automated somehow differently for the runners, but I used the UI.

I really hope this made sense -- this is a really weird one...

If others that installed watchOS simulators via the UI in Xcode 14.0 confirm their output of xcodebuild -showdestinations, I'd appreciate it! I confirmed the output on two different MacBooks running macOS 12 and Xcode 14.0 (14A309), but that doesn't mean it still might not be a me problem. Thanks!

@miketimofeev
Copy link
Contributor

@bdrelling hi! Yeah, we install watchos and tvos simulators additionally using xcodebuild -downloadAllPlatforms command (see #6051). Could you check locally if there is the same behavior when using a command rather than GUI?

@knox
Copy link
Author

knox commented Sep 9, 2022

We have deployed the new image with the Xcode 14 RC on board

You are refering to #6201 i guess. For me this issue is resolved and i'd close it, not?

@miketimofeev
Copy link
Contributor

@knox feel free to close it, thank you.

@knox
Copy link
Author

knox commented Sep 9, 2022

@miketimofeev maybe you update these tags for clarification. Thank you very much for resolving this so instantly.

@knox knox closed this as completed Sep 9, 2022
@miketimofeev miketimofeev removed the awaiting-deployment Code complete; awaiting deployment and/or deployment in progress label Sep 9, 2022
@bdrelling
Copy link

@miketimofeev I won't have access to a clean machine to run that command on for a few days, so I won't be able to test that, but to be clear: if running that command does fix it locally, that still won't fix it for the majority of local Xcode installations where users are not running that command, meaning a local vs. CI mismatch, so GitHub Actions should still be the one to rename those incorrectly named simulators, right? And additionally file a bug with Apple if the names don't match.

Also, let me know if you want me to open as a new issue now that this is closed, or anywhere else. Thanks!

@miketimofeev
Copy link
Contributor

@bdrelling yes, please, open a new issue as it's not clear for now how to rename them so we need to investigate the issue further.

@Brett-Best
Copy link

{ ... name:Apple Watch SE (44mm) (2nd generation) }
{ ... name:Apple Watch Series 5 (40mm) }
{ ... name:Apple Watch Series 5 (44mm) }
{ ... name:Apple Watch Series 6 (40mm) }
{ ... name:Apple Watch Series 6 (44mm) }
{ ... name:Apple Watch Series 7 (41mm) }
{ ... name:Apple Watch Series 7 (45mm) }
{ ... name:Apple Watch Series 8 (41mm) }
{ ... name:Apple Watch Series 8 (45mm) }
{ ... name:Apple Watch Ultra (49mm) }

I’m seeing this locally on my iMac btw.

@miketimofeev
Copy link
Contributor

@Brett-Best do you install simulators the same way via command-line?

@Brett-Best
Copy link

No, installed the simulators using the Xcode dialog that comes up when you launch Xcode for the first time @miketimofeev - that sounded like the way @bdrelling was doing it too (?)

@bdrelling
Copy link

@Brett-Best thank you for confirming via the Xcode dialog. I’ve installed locally twice on two machines and saw the same result. One machine had Xcode previously, the other did not.

I’ll open a new issue, but wouldn’t mind if others could confirm as well! If it’s somehow just my install, it’ll help to narrow it down so I can submit a Radar. Thanks!

@bdrelling
Copy link

Well, I previously thought the biggest issue would be that my scripts wouldn't work when running Xcode for UI-installed simulators versus CLI-installed simulators. However, even within GitHub Actions' macos-12 runner, the simulators are inconsistent from Xcode 12 and 13 as well, so it's not just an issue of local/remote, but an issue of naming across multiple installations of Xcode.

Opened up a new issue here: #6243

Thanks all!

@stancho-stanchev
Copy link

any news on Xcode 14.1 image being available ?

@al-cheb
Copy link
Contributor

al-cheb commented Nov 4, 2022

any news on Xcode 14.1 image being available ?

@stancho-stanchev , Xcode 14.1 is available on macOS-12 - https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md#xcode

runs-on: macos-12
    steps:
      - uses: maxim-lobanov/setup-xcode@v1
        with:
          xcode-version: '14.1'

image

@stancho-stanchev
Copy link

@al-cheb I get this

image

@Brett-Best
Copy link

What OS have you specified in the workflow?

@stancho-stanchev
Copy link

What OS have you specified in the workflow?

I had it as latest macos but changed it to macos-12 and it worked.

Not sure why the latest is referencing macOS 11 🙈

Thank you for your help all good now

@kopax-polyconseil
Copy link

We still encounter issue having hermes with this version: see facebook/react-native#35536 , any clue ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

12 participants