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 15 (Sequoia) is now available as a public beta in GitHub Actions #10686

Open
3 of 14 tasks
erik-bershel opened this issue Sep 25, 2024 · 21 comments
Open
3 of 14 tasks

Comments

@erik-bershel
Copy link
Contributor

erik-bershel commented Sep 25, 2024

Breaking changes

macOS-15 Sequoia is now available for all GitHub Actions.
You can use the macos-15 image label in your YAML to select this image.

macOS-15 Apple Silicon

jobs:
  job:
    runs-on: macos-15
jobs:
  job:
    runs-on: macos-15-xlarge

macOS-15 Intel

jobs:
  job:
    runs-on: macos-15-large

The image is marked as beta for now. It means some software can be unstable on the new platform. Also, there could be queueing issues as the capacity will be balanced only throughout the next weeks.

Target date

Wednesday, September 25, 2024

The motivation for the changes

Possible impact

Software difference between macOS-14 and macOS-15

Tool name macOS 14 (Apple Silicon / Intel) macOS 15 (Apple Silicon / Intel) Notes
Xcode
  • 14.3.1
  • 15.0.1
  • 15.1
  • 15.2
  • 15.3
  • 15.4 (default)
  • 16.0
  • 16.1 Beta
  • 16.0 (default)
  • 16.1 Beta
Base Xcode major release for macOS-15 is Xcode 16
Clang/LLVM (Xcode) 14.* 16* Default Xcode changed to 16.0
Clang/LLVM (Homebrew) 15.* 18.* The most recent version is installed
.NET
  • 7.*
  • 8.*
8 .NET 7 reached EOS on May, 14
Node.js (default) 20.* 22.* The most recent version is installed
Mono 6.12.* N/A Removed from the macOS-15 images due to maintenance reasons
NuGet 6.3.* N/A Removed from the macOS-15 images due to maintenance reasons
Nunit 6.15.4 N/A Removed from the macOS-15 images due to maintenance reasons
Java
  • 8.* (Intel only)
  • 11.*
  • 17.*
  • 21.* (default)
  • 11.*
  • 17.*
  • 21.* (default)
Java 8 removed from the Intel-based image to keep consistency
Ruby (toolcache)
  • 3.0.* (default)
  • 3.1.*
  • 3.1.*
  • 3.2.*
  • 3.3.* (default)
The most recent versions are installed
Go (toolcache)
  • 1.20.*
  • 1.21.*
  • 1.22.*
  • 1.21.*
  • 1.22.*
  • 1.23.*
The most recent versions are installed
Android NDK
  • 24
  • 25
  • 26 (default)
  • 26
  • 27 (default)
The most recent versions are installed

Platforms affected

  • Azure DevOps
  • GitHub Actions

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

Mitigation ways

Please report any problems with the new image to this repository.

@carlocab
Copy link
Contributor

The macos-15 runners are missing a Command Line Tools installation at /Library/Developer/CommandLineTools.

This breaks some pre-installed tools (e.g. Homebrew LLVM), and is a regression from macos-13 and macos-14.

See this workflow run for a reproduction: https://github.com/carlocab/workflow-test/actions/runs/11046671863

The workflow compiles a simple "hello world" test.c file. This succeeds on macos-13 and macos-14, but fails on macos-15.

We can see that macos-15 records a few failures over looking for headers in /Library/Developer/CommandLineTools: https://github.com/carlocab/workflow-test/actions/runs/11046671863/job/30686438808#step:6:12

We can also check directly whether /Library/Developer/CommandLineTools exists: https://github.com/carlocab/workflow-test/actions/runs/11046671863/job/30686438808#step:5:6

OTOH, this directory exists on macos-13 and macos-14:
https://github.com/carlocab/workflow-test/actions/runs/11046671863/job/30686438238#step:5:6
https://github.com/carlocab/workflow-test/actions/runs/11046671863/job/30686438238#step:6:16
https://github.com/carlocab/workflow-test/actions/runs/11046671863/job/30686438473#step:5:6
https://github.com/carlocab/workflow-test/actions/runs/11046671863/job/30686438473#step:6:16

@erik-bershel
Copy link
Contributor Author

erik-bershel commented Sep 26, 2024

Hey @carlocab! 👋

Thank you for the info. I'll put it back with the next release. We temporary disabled it due to a bicep behaviour with XC CLT 15.3, but now CLT 16.0 is available, so we might use it:

@NachoSoto
Copy link

We're seeing significantly faster build times on macos-15-xlarge compared to macos-14-xlarge 🔥 which is amazing.
Curious if you have a theory for why this might be?

@StephenHodgson
Copy link

StephenHodgson commented Sep 27, 2024

Seems that the Machine Ids are all the same and breaks some license activations for several different software programs we use for our devOps workflows.

(Actually the same problem with macos-14 as well)

Opened separate issue for this:

@muzimuzhi
Copy link

Is macos-15-xl also supported?

I am adding macOS 15 support for one of the action linters, see rhysd/actionlint#453.

@themaroqa
Copy link

themaroqa commented Oct 9, 2024

Is there a timeline for having it available on Azure DevOps as well?
@erik-bershel

bors added a commit to rust-lang-ci/rust that referenced this issue Oct 16, 2024
(ci) Update macOS Xcode to 15

This updates the macOS builders to Xcode 15. The aarch64 images will be removing Xcode 14 and 16 very soon (actions/runner-images#10703), so we will need to make the switch to continue operating. The linked issue also documents GitHub's new policy for how they will be updating Xcode in the future. Also worth being aware of is the future plans for x86 runners documented in actions/runner-images#9255 and actions/runner-images#10686, which will impact our future upgrade behaviors.

I decided to also update the Xcode in the x86_64 runners, even though they are not being removed. It felt better to me to have all macOS runners on the same (major) version of Xcode. However, note that the x86_64 runners do not have the latest version of 15 (15.4), so I left them at 15.2 (which is currently the default Xcode of the runner).

Xcode 15 was previously causing problems (see rust-lang#121058) which seem to be resolved now. `@bjorn3` fixed the `invalid r_symbolnum` issue with cranelift. The issue with clang failing to link seems to be fixed, possibly by the update of the pre-built LLVM from 14 to llvm 15 in rust-lang#124850, or an update in our source version of LLVM. I have run some try builds and at least LLVM seems to build (I did not run any tests).

Closes rust-lang#121058
bors added a commit to rust-lang-ci/rust that referenced this issue Oct 21, 2024
(ci) Update macOS Xcode to 15

This updates the macOS builders to Xcode 15. The aarch64 images will be removing Xcode 14 and 16 very soon (actions/runner-images#10703), so we will need to make the switch to continue operating. The linked issue also documents GitHub's new policy for how they will be updating Xcode in the future. Also worth being aware of is the future plans for x86 runners documented in actions/runner-images#9255 and actions/runner-images#10686, which will impact our future upgrade behaviors.

I decided to also update the Xcode in the x86_64 runners, even though they are not being removed. It felt better to me to have all macOS runners on the same (major) version of Xcode. However, note that the x86_64 runners do not have the latest version of 15 (15.4), so I left them at 15.2 (which is currently the default Xcode of the runner).

Xcode 15 was previously causing problems (see rust-lang#121058) which seem to be resolved now. `@bjorn3` fixed the `invalid r_symbolnum` issue with cranelift. The issue with clang failing to link seems to be fixed, possibly by the update of the pre-built LLVM from 14 to llvm 15 in rust-lang#124850, or an update in our source version of LLVM. I have run some try builds and at least LLVM seems to build (I did not run any tests).

Closes rust-lang#121058
github-actions bot pushed a commit to rust-lang/miri that referenced this issue Oct 22, 2024
(ci) Update macOS Xcode to 15

This updates the macOS builders to Xcode 15. The aarch64 images will be removing Xcode 14 and 16 very soon (actions/runner-images#10703), so we will need to make the switch to continue operating. The linked issue also documents GitHub's new policy for how they will be updating Xcode in the future. Also worth being aware of is the future plans for x86 runners documented in actions/runner-images#9255 and actions/runner-images#10686, which will impact our future upgrade behaviors.

I decided to also update the Xcode in the x86_64 runners, even though they are not being removed. It felt better to me to have all macOS runners on the same (major) version of Xcode. However, note that the x86_64 runners do not have the latest version of 15 (15.4), so I left them at 15.2 (which is currently the default Xcode of the runner).

Xcode 15 was previously causing problems (see #121058) which seem to be resolved now. `@bjorn3` fixed the `invalid r_symbolnum` issue with cranelift. The issue with clang failing to link seems to be fixed, possibly by the update of the pre-built LLVM from 14 to llvm 15 in rust-lang/rust#124850, or an update in our source version of LLVM. I have run some try builds and at least LLVM seems to build (I did not run any tests).

Closes #121058
lnicola pushed a commit to lnicola/rust-analyzer that referenced this issue Oct 22, 2024
(ci) Update macOS Xcode to 15

This updates the macOS builders to Xcode 15. The aarch64 images will be removing Xcode 14 and 16 very soon (actions/runner-images#10703), so we will need to make the switch to continue operating. The linked issue also documents GitHub's new policy for how they will be updating Xcode in the future. Also worth being aware of is the future plans for x86 runners documented in actions/runner-images#9255 and actions/runner-images#10686, which will impact our future upgrade behaviors.

I decided to also update the Xcode in the x86_64 runners, even though they are not being removed. It felt better to me to have all macOS runners on the same (major) version of Xcode. However, note that the x86_64 runners do not have the latest version of 15 (15.4), so I left them at 15.2 (which is currently the default Xcode of the runner).

Xcode 15 was previously causing problems (see #121058) which seem to be resolved now. `@bjorn3` fixed the `invalid r_symbolnum` issue with cranelift. The issue with clang failing to link seems to be fixed, possibly by the update of the pre-built LLVM from 14 to llvm 15 in rust-lang/rust#124850, or an update in our source version of LLVM. I have run some try builds and at least LLVM seems to build (I did not run any tests).

Closes #121058
@erik-bershel
Copy link
Contributor Author

macOS-15 is now available using Azure DevOps 🚀
More info: https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml

@Pastajello
Copy link

It is, but not all basic tools (android build tools) are available:
#10856

@CPRmichel
Copy link

macOS-15 is now available using Azure DevOps 🚀 More info: https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml

Will the Azure Devops agents be transitioned to arm architecture in the future?

jbampton added a commit to jbampton/mruby that referenced this issue Oct 31, 2024
jbampton added a commit to jbampton/mruby that referenced this issue Nov 2, 2024
hsbt added a commit to hsbt/ruby that referenced this issue Nov 5, 2024
hsbt added a commit to ruby/ruby that referenced this issue Nov 5, 2024
@Syed-RI
Copy link

Syed-RI commented Nov 14, 2024

Just a note and apologies if this is adding to the noise.

.NET MAUI build which targets .NET 8 is failing with the following error:

Error: /Users/runner/.dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.145/targets/Microsoft.Android.Sdk.Tooling.targets(31,5): error XA5205: Cannot find `aapt`. Please install the Android SDK Build-Tools package with the `/Users/runner/Library/Android/sdk/tools/android` program. [/Users/runner/work/dart-mobile-ui/dart-mobile-ui/Dart/Dart.csproj::TargetFramework=net8.0-android]

We were forced to change the runner to macOS15 due to .NET MAUI workload dependency on Xcode 16.

@pmahend1
Copy link

Just a note and apologies if this is adding to the noise.

.NET MAUI build which targets .NET 8 is failing with the following error:

Error: /Users/runner/.dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.145/targets/Microsoft.Android.Sdk.Tooling.targets(31,5): error XA5205: Cannot find `aapt`. Please install the Android SDK Build-Tools package with the `/Users/runner/Library/Android/sdk/tools/android` program. [/Users/runner/work/dart-mobile-ui/dart-mobile-ui/Dart/Dart.csproj::TargetFramework=net8.0-android]

We were forced to change the runner to macOS15 due to .NET MAUI workload dependency on Xcode 16.

Same here
/Users/runner/hostedtoolcache/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.143/targets/Microsoft.Android.Sdk.Tooling.targets(31,5): error XA5205: Cannot find aapt. Please install the Android SDK Build-Tools package with the /Users/runner/Library/Android/sdk/tools/androidprogram.

@amit-thapa
Copy link

Just a note and apologies if this is adding to the noise.
.NET MAUI build which targets .NET 8 is failing with the following error:

Error: /Users/runner/.dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.145/targets/Microsoft.Android.Sdk.Tooling.targets(31,5): error XA5205: Cannot find `aapt`. Please install the Android SDK Build-Tools package with the `/Users/runner/Library/Android/sdk/tools/android` program. [/Users/runner/work/dart-mobile-ui/dart-mobile-ui/Dart/Dart.csproj::TargetFramework=net8.0-android]

We were forced to change the runner to macOS15 due to .NET MAUI workload dependency on Xcode 16.

Same here /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.143/targets/Microsoft.Android.Sdk.Tooling.targets(31,5): error XA5205: Cannot find aapt. Please install the Android SDK Build-Tools package with the /Users/runner/Library/Android/sdk/tools/androidprogram.

I have the same issue. Is there a resolution to this?

@nk54
Copy link

nk54 commented Nov 18, 2024

Just a note and apologies if this is adding to the noise.
.NET MAUI build which targets .NET 8 is failing with the following error:

Error: /Users/runner/.dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.145/targets/Microsoft.Android.Sdk.Tooling.targets(31,5): error XA5205: Cannot find `aapt`. Please install the Android SDK Build-Tools package with the `/Users/runner/Library/Android/sdk/tools/android` program. [/Users/runner/work/dart-mobile-ui/dart-mobile-ui/Dart/Dart.csproj::TargetFramework=net8.0-android]

We were forced to change the runner to macOS15 due to .NET MAUI workload dependency on Xcode 16.

Same here /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.143/targets/Microsoft.Android.Sdk.Tooling.targets(31,5): error XA5205: Cannot find aapt. Please install the Android SDK Build-Tools package with the /Users/runner/Library/Android/sdk/tools/androidprogram.

I have the same issue. Is there a resolution to this?

Same too. What is the workaround ? :(

@erik-bershel
Copy link
Contributor Author

The issue with Android build-tools will be resolved with the next image update. PR: #10875

During runtime workaround should be something like that:

          SDKMANAGER=$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager
          $SDKMANAGER "build-tools;35.0.0"
          echo "$ANDROID_HOME/build-tools/35.0.0" >> $GITHUB_PATH #If you need it to be in path of course 

cc: @nk54, @amit-thapa, @ph

@erik-bershel
Copy link
Contributor Author

Hey @CPRmichel!

Will the Azure Devops agents be transitioned to arm architecture in the future?

There is no such plans at the moment. But if anything changes in our plans we'll announce it there: #8971

@pmahend1
Copy link

@erik-bershel when is the planned release for PR: #10875 ?
I see it being merged but I still see the issue.

@erik-bershel
Copy link
Contributor Author

Hey @pmahend1!
In progress for macos-15-arm64 (macos-15 YAML label on GitHub) here: #10991; expected to be done by the end of this week.
Intel-based macos-15 for Azure DevOps is pending, no ETA available at the moment.

@rkops-bd
Copy link

rkops-bd commented Nov 19, 2024

Just a note and apologies if this is adding to the noise.
.NET MAUI build which targets .NET 8 is failing with the following error:

Error: /Users/runner/.dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.145/targets/Microsoft.Android.Sdk.Tooling.targets(31,5): error XA5205: Cannot find `aapt`. Please install the Android SDK Build-Tools package with the `/Users/runner/Library/Android/sdk/tools/android` program. [/Users/runner/work/dart-mobile-ui/dart-mobile-ui/Dart/Dart.csproj::TargetFramework=net8.0-android]

We were forced to change the runner to macOS15 due to .NET MAUI workload dependency on Xcode 16.

Same here /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.143/targets/Microsoft.Android.Sdk.Tooling.targets(31,5): error XA5205: Cannot find aapt. Please install the Android SDK Build-Tools package with the /Users/runner/Library/Android/sdk/tools/androidprogram.

I have the same issue. Is there a resolution to this?

Add this task to your pipeline yaml:

  • task: Bash@3
    displayName: "Install Android SDK and Build Tools"
    inputs:
    targetType: "inline"
    script: |
    export ANDROID_HOME=$HOME/Library/Android/sdk
    export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/build-tools/34.0.0:$ANDROID_HOME/platform-tools:$PATH
    mkdir -p $ANDROID_HOME/cmdline-tools/latest
    mkdir -p $ANDROID_HOME/build-tools
    sdkmanager --install "cmdline-tools;latest" "platform-tools" "build-tools;34.0.0" "platforms;android-34"
    yes | sdkmanager --licenses

@CPRmichel
Copy link

Hey @CPRmichel!

Will the Azure Devops agents be transitioned to arm architecture in the future?

There is no such plans at the moment. But if anything changes in our plans we'll announce it there: #8971

Thank you, even though thats sad to hear. I think it does not make sense to use Azure Devops for mobile app projects going forward.

@amit-thapa
Copy link

Hey @pmahend1! In progress for macos-15-arm64 (macos-15 YAML label on GitHub) here: #10991; expected to be done by the end of this week. Intel-based macos-15 for Azure DevOps is pending, no ETA available at the moment.

Hi @erik-bershel is there an ETA available now macos-15 for Azure Dev Ops?

@erik-bershel
Copy link
Contributor Author

Hey @pmahend1! In progress for macos-15-arm64 (macos-15 YAML label on GitHub) here: #10991; expected to be done by the end of this week. Intel-based macos-15 for Azure DevOps is pending, no ETA available at the moment.

Hi @erik-bershel is there an ETA available now macos-15 for Azure Dev Ops?

👋
Yep, we fixed the issue on our side 🎉 and expecting new release with the update to be available by the end of the next week.

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