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

macOS image documentation contradiction #11334

Closed
2 of 16 tasks
jakeatoms opened this issue Jan 8, 2025 · 2 comments
Closed
2 of 16 tasks

macOS image documentation contradiction #11334

jakeatoms opened this issue Jan 8, 2025 · 2 comments

Comments

@jakeatoms
Copy link

jakeatoms commented Jan 8, 2025

Description

The documentation for Xcode versions on macOS runners specifically states that all minor versions of a major version will be available.

  • only one major version of Xcode will be supported per macOS version
  • all minor versions of the supported major version will be available

However, a recent post regarding adding Xcode 16.2 indicates that 16.0 will be dropped from macOS 14. This is proving problematic and doesn't give me confidence for stability going forward. We can't reliably move to 16.2 until after all the deployments are complete, but having to move (limp) one version at a time is not something our team really wants to take on.

https://github.blog/changelog/2025-01-02-actions-xcode-16-2-will-replace-xcode-16-0-in-macos-14-images/

Our support policy for macOS-14 is:
– Xcode 15: All minor releases with the full platform tools suite.
– Xcode 16: Two minor releases (excluding visionOS tools), following a “last two” principle where the oldest version is replaced by the latest as updates are released.

Is the "last two" principle something that is going to superced the documentation going forward or is removing Xcode 16.0 an error on GitHub's part? Please provide some guidance for moving forward.

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 20.04
  • Ubuntu 22.04
  • Ubuntu 24.04
  • macOS 12
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • Windows Server 2019
  • Windows Server 2022
  • Windows Server 2025

Image version and build link

Image: macos-14-arm64
Version: 20241216.651

Is it regression?

yes

Expected behavior

I expect macOS 14 to have Xcode_16.0.app, Xcode_16.1.app, and Xcode_16.2.app.

Actual behavior

Attempting to transition from 16.0 to 16.2 during this deployment period is causing flaky behavior:

xcrun: error: missing DEVELOPER_DIR path: /Applications/Xcode_16.2.app/Contents/Developer

xcrun: error: missing DEVELOPER_DIR path: /Applications/Xcode_16.0.app/Contents/Developer

Repro steps

Using the macos-14 runner, set the dev dir to either 16.0 or 16.2 and sometimes it will work and other times it won't.

DEVELOPER_DIR: /Applications/Xcode_16.2.app/Contents/Developer

@sureshe456
Copy link
Contributor

Hi @jakeatoms Team will look into the issue and keep you posted with updates.Thanks.

@erik-bershel
Copy link
Contributor

erik-bershel commented Jan 9, 2025

Hello @jakeatoms, 👋

Thank you for reaching out!

I’m sorry to hear about the difficulties you encountered while using macOS images. 😞 The behaviour you described is indeed expected. While the situation is mentioned in the blog post you referenced, we’ve also provided more detailed explanations here and announced upcoming changes in this announcement.

To summarise:

General policy is the same as stated. We officially support one major version of Xcode (including all its minor versions, but only the latest patch for each minor version) for a single version of macOS. For macOS-14 supported Xcode major version is 15. For macOS-15 it's accordingly 16. Other versions are considered additional, non-guaranteed offerings and may change at any time due to external factors.

Currently, we’re making an effort to provide the two most recent minor releases of Xcode 16 for macOS-14, and one latest Xcode 15 release for macOS-15, as long as it’s feasible for us to do so.

For all critical updates in the repository, we issue announcements as outlined here.

If you have further questions or need assistance, please don’t hesitate to reach out! 🙇

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

4 participants