runner-images icon indicating copy to clipboard operation
runner-images copied to clipboard

Please add Xcode 15.3 for macOS runners

Open 3a4oT opened this issue 1 year ago β€’ 10 comments

Tool name

Xcode 15.3

Tool license

Free

Add or update?

  • [ ] Add
  • [X] Update

Desired version

Version 15.3 (15E204a)

Approximate size

No response

Brief description of tool

No response

URL for tool's homepage

No response

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

No response

Platforms where you need the tool

  • [X] Azure DevOps
  • [X] GitHub Actions

Runner images where you need the tool

  • [ ] Ubuntu 20.04
  • [ ] Ubuntu 22.04
  • [ ] macOS 11
  • [ ] macOS 12
  • [ ] macOS 13
  • [X] macOS 13 Arm64
  • [ ] macOS 14
  • [X] macOS 14 Arm64
  • [ ] 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

3a4oT avatar Mar 06 '24 14:03 3a4oT

The Xcode 15.3 changed the format of the Package.resolved file and it is not compatible with previous versions.

This blocks our builds.

jozefizso avatar Mar 06 '24 14:03 jozefizso

Hey @3a4oT and @jozefizso! Thank you for bringing it to our attention. We'll work on adding new Xcode 15.3 ASAP. πŸš€ πŸš€ πŸš€

erik-bershel avatar Mar 06 '24 14:03 erik-bershel

Hey @3a4oT and @jozefizso! Thank you for bringing it to our attention. We'll work on adding new Xcode 15.3 ASAP. πŸš€ πŸš€ πŸš€

Hi @erik-bershel , we have strategic customer asking for Xcode 15.3 and this needs MacOS 14.4 and later. Is there any ETA for this? Thank you!

Coco-Kong avatar Mar 08 '24 04:03 Coco-Kong

Hey there! We would not like to publish any promises or assumptions. New versions of Xcode, when released, open the gates to a world of adventure and incompatibility, which makes it impossible for us to say anything with certainty. I can say that we are already working on preparing the release of this update and truly understand the community's need for it. cc @Coco-Kong

erik-bershel avatar Mar 08 '24 09:03 erik-bershel

@erik-bershel Has your organization considered publishing and committing to an update policy similar to bitrise's

I realize there are a lot of complexities with updates, but if you set public targets then it might help ensure time is allocated accordingly to meet established goals. For CI/CD, this kind of policy is just as important as uptime as far as managing operations.

allenhumphreys avatar Mar 08 '24 15:03 allenhumphreys

The Xcode 15.3 changed the format of the Package.resolved file and it is not compatible with previous versions.

This blocks our builds.

I just modified the file like this and works

  "version" : 2
}

Package.resolved file is corrupted or malformed; fix or delete the file

2sem avatar Mar 11 '24 14:03 2sem

@erik-bershel We would like to have this as well. Any updates on the timeline?

setoelkahfi avatar Mar 14 '24 11:03 setoelkahfi

Considering that https://github.com/actions/runner-images/pull/9505 is merged, should we expect it to be ready soon?

erkanyildiz avatar Mar 15 '24 08:03 erkanyildiz

Unfortunately, Xcode 15.3 still not available even after merge.

I can see Xcode 15.3 in toolset for mac-os14, but assume it's not the same as available Xcodes in image itself.

For now, only way to fix it - it's downgrade project & affected CI's to Xcode 15.2 and await for updates.

image
runs-on: macos-14
    steps:
    - uses: maxim-lobanov/setup-xcode@v1
      with:
        xcode-version: '15.3'

ivfomenko avatar Mar 19 '24 14:03 ivfomenko

I have a suggestion for the team working on this.

Apple expects developers to adopt tool upgrades immediately after they are published. This is why they don't make it easy to downgrade. Instead, what they do to make the adoption smooth for developers is share public betas.

I have worked on Apple apps where it was critical that they support new major version of Xcode as soon as it is released, because this coincided with new OS releases that could and did break our app, and we can't tell users not to upgrade iOS (and Apple makes it nearly impossible to downgrade OS). So what we did was, as soon as the first beta for a new major version was released, we started testing the code in the Xcode betas and fixed any issues we saw on the newer OS. For build issues we would prepare a separate branch that we would switch over to on release day. By the time the new version is officially released, we've been testing against the RC, we've already upgraded the live app version to one that works with the new OS, and we have a branch that builds correctly in the new Xcode.

For developer tools, it is really necessary to do this with not just major upgrades but minor upgrades too (especially when it comes with a new version of Swift). As soon as an Xcode beta version is released by Apple, that is when you should create the ticket to support that next version, and that should give you time to apply fixes so that by the time the new Xcode version goes live, your project already works with it.

In this example, the first beta of Xcode 15.3 was released on Jan. 25. The final release was on Mar. 5. That was almost six weeks to get ahead of any issues that arose.

aetherealtech avatar Mar 20 '24 20:03 aetherealtech

Any update on an ETA? This is not an acceptable delay. 2 weeks since https://github.com/actions/runner-images/pull/9505 was merged.

Maybe time to move to Xcode Cloud instead of waiting months for every Xcode and macOS release. πŸ™„

kylemay-gridstone avatar Mar 25 '24 23:03 kylemay-gridstone

I have a suggestion for the team working on this.

Apple expects developers to adopt tool upgrades immediately after they are published. This is why they don't make it easy to downgrade. Instead, what they do to make the adoption smooth for developers is share public betas.

I have worked on Apple apps where it was critical that they support new major version of Xcode as soon as it is released, because this coincided with new OS releases that could and did break our app, and we can't tell users not to upgrade iOS (and Apple makes it nearly impossible to downgrade OS). So what we did was, as soon as the first beta for a new major version was released, we started testing the code in the Xcode betas and fixed any issues we saw on the newer OS. For build issues we would prepare a separate branch that we would switch over to on release day. By the time the new version is officially released, we've been testing against the RC, we've already upgraded the live app version to one that works with the new OS, and we have a branch that builds correctly in the new Xcode.

For developer tools, it is really necessary to do this with not just major upgrades but minor upgrades too (especially when it comes with a new version of Swift). As soon as an Xcode beta version is released by Apple, that is when you should create the ticket to support that next version, and that should give you time to apply fixes so that by the time the new Xcode version goes live, your project already works with it.

In this example, the first beta of Xcode 15.3 was released on Jan. 25. The final release was on Mar. 5. That was almost six weeks to get ahead of any issues that arose.

Thanks for the suggestion. This has been our workflow since I joined the company and this issue is something that we can't control. This should be part of the GitHub SLA. So, any update on the ETA?

setoelkahfi avatar Mar 26 '24 08:03 setoelkahfi

+1. This is a blocking concern for us

mk-openpath avatar Mar 28 '24 18:03 mk-openpath

+1 on this, our builds have been failing for quite some time now due to this exact issue. What is the ETA?

vmanot avatar Mar 31 '24 18:03 vmanot

I don't know about the rest of you but since the afternoon (PDT) Friday, March 29th, I've been able to use Xcode 15.3 using GitHub's runners.

tkersey avatar Mar 31 '24 18:03 tkersey

That’s not indicated in the image readmes

allenhumphreys avatar Mar 31 '24 18:03 allenhumphreys

I will trust working code over documentation any day.

tkersey avatar Mar 31 '24 18:03 tkersey

Apparently it depends on which runner you get...

Both of the following jobs request macos-14.

This one is an older version w/o Xcode 15.3: image

This one is a newer one, where Xcode 15.3 is installed: image

ffried avatar Apr 01 '24 06:04 ffried

Hey there! Heads up. Image rollout of the macOS-14-arm64 image with the Xcode 15.3 on board is in progress. You can track it via PR here: https://github.com/actions/runner-images/pull/9579. It will be done with the closure of this PR.

erik-bershel avatar Apr 01 '24 09:04 erik-bershel

Hey there!

Heads up. Image rollout of the macOS-14-arm64 image with the Xcode 15.3 on board is in progress. You can track it via PR here: https://github.com/actions/runner-images/pull/9579. It will be done with the closure of this PR.

Can you please highlight availability on Azure Devops? Is it related to mentioned PR?

3a4oT avatar Apr 01 '24 09:04 3a4oT

Hi @3a4oT! I should note that Xcode 15.3 is only available for macOS-14 and higher according to the page (and based on hours of trying to run it on a previous OS with no unpredictable results). macOS-14 images are not yet available in Azure Pipelines as I remember and according to the doc here. And I have no information about when they will appear there or whether they will appear at all. It's better to track it here: https://github.com/actions/runner-images/issues/8971.

erik-bershel avatar Apr 01 '24 09:04 erik-bershel

I will trust working code over documentation any day.

@tkersey it seems to be a lengthy process and we should wait for docs before expecting all runners to be updated.

allenhumphreys avatar Apr 01 '24 11:04 allenhumphreys

Hi @3a4oT! I should note that Xcode 15.3 is only available for macOS-14 and higher according to the page (and based on hours of trying to run it on a previous OS with no unpredictable results). macOS-14 images are not yet available in Azure Pipelines as I remember and according to the doc here. And I have no information about when they will appear there or whether they will appear at all. It's better to track it here: #8971.

Hey, @erik-bershel. Thanks for the reply and the progress you have made so far. I was expecting that GitHub's runners pool == Azure's runners pull since they pointed to this repository last time I asked for support.

3a4oT avatar Apr 02 '24 08:04 3a4oT

Should be deployed!

mikhailkoliada avatar Apr 02 '24 10:04 mikhailkoliada

We're waiting for this on Azure Pipelines as well. Unfortunately the more relevant ticket #8971 has been locked for discussion.

jbiel avatar Apr 02 '24 16:04 jbiel

With this new macos-14 runner using Xcode 15.3, should I remove the use of yeetd?

larry-cariq avatar Apr 04 '24 21:04 larry-cariq

Still not available for Azure Pipelines, why is the ticket closed? What a joke Azure Pipelines has become.

kylemay-gridstone avatar Apr 15 '24 00:04 kylemay-gridstone

macOS-14 agent is still not available on Azure Pipeline. We can't comment on the more relevant thread (link) as we are not contributors. Can anyone from the contributors comment here on the ETAs, please? April 29, 2024, is the last date for the submission of apps from older Xcode. We have a requirement that we can't use Xcode 15.2, we must use Xcode 15.3.

faizy-ahmed avatar Apr 22 '24 07:04 faizy-ahmed

macOS-14 agent is still not available on Azure Pipeline. We can't comment on the more relevant thread (link) as we are not contributors. Can anyone from the contributors comment here on the ETAs, please? April 29, 2024, is the last date for the submission of apps from older Xcode. We have a requirement that we can't use Xcode 15.2, we must use Xcode 15.3.

The older Xcode requirement is related to Xcode 14. You'll still be able to submit apps built with Xcode 15.2

pbudzinsky avatar Apr 22 '24 12:04 pbudzinsky

There is a huge following waiting for its update. Can we have any update on the timeline from contributors? This is not an acceptable delay.

Starting April 29, 2024, all iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution.

Note: We have a requirement where we can't use 15.2. Any latest update would be of great help. Looking forward to it.

abdulkarimkhaan avatar Apr 24 '24 04:04 abdulkarimkhaan