Skip to content

[release/9.0] Move default build images to macos 15 (and xcode 16) (#120589) - #122422

Merged
steveisok merged 3 commits into
dotnet:release/9.0-stagingfrom
agocke:9.0-macos-build-upgrade
Jan 10, 2026
Merged

[release/9.0] Move default build images to macos 15 (and xcode 16) (#120589)#122422
steveisok merged 3 commits into
dotnet:release/9.0-stagingfrom
agocke:9.0-macos-build-upgrade

Conversation

@agocke

Copy link
Copy Markdown
Member

(cherry picked from commit eaafd7c) (cherry picked from commit 1905046)

Co-authored-by: Eric StJohn <ericstj@microsoft.com>
Co-authored-by: Matous Kozak <matouskozak@seznam.cz>
(cherry picked from commit eaafd7c)
(cherry picked from commit 1905046)
CopilotAI review requested due to automatic review settings December 10, 2025 23:53
@github-actionsgithub-actionsBot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Dec 10, 2025

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the default macOS build environment from macOS 13 to macOS 15 (which includes Xcode 16), focusing primarily on the public build pool infrastructure. The change also excludes two Swift interop stress tests that are failing in the new environment.

Key Changes

  • Updated OSX Public Build Pool vmImage from 'macos-13' to 'macos-15'
  • Added explanatory comment about maintaining latest build platform versions
  • Excluded Swift interop stress tests for mono minijit x64 configuration due to known issues

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

FileDescription
eng/pipelines/common/xplat-setup.ymlUpdated public macOS build pool from macOS 13 to macOS 15 and added comment documenting version policy
src/tests/issues.targetsAdded exclusions for SwiftRetAbiStress and SwiftCallbackAbiStress tests under mono minijit x64 configuration
Comments suppressed due to low confidence (1)

eng/pipelines/common/xplat-setup.yml:181

  • The comment states "We should always be building on the latest available version of our build platform" and requires "a tracking issue if the latest version does not work for some reason." However, the OSX Internal Pool (line 181) still uses 'macOS-13' while the OSX Public Build Pool (line 176) has been updated to 'macos-15'. This inconsistency means the comment's requirement is not being met. Either update the OSX Internal Pool to 'macos-15' or add a comment with a tracking issue explaining why it cannot use the latest version.
 # N.B.: We should always be building on the latest available version of our build platform.
# Each of these queues should be the latest version or have a tracking issue if the latest version
# does not work for some reason.
pool:
# Public Linux Build Pool
${{ if and(or(in(parameters.osGroup, 'linux', 'freebsd', 'android', 'tizen'), eq(parameters.jobParameters.hostedOs, 'linux')), eq(variables['System.TeamProject'], 'public')) }}:
name: $(DncEngPublicBuildPool)
demands: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open
# Official Build Linux Pool
${{ if and(or(in(parameters.osGroup, 'linux', 'freebsd', 'android', 'tizen'), eq(parameters.jobParameters.hostedOs, 'linux')), ne(variables['System.TeamProject'], 'public')) }}:
name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals 1es-ubuntu-2204
os: linux
# OSX Public Build Pool (we don't have on-prem OSX BuildPool).
${{ if and(in(parameters.osGroup, 'osx', 'maccatalyst', 'ios', 'iossimulator', 'tvos', 'tvossimulator'), eq(variables['System.TeamProject'], 'public')) }}:
vmImage: 'macos-15'
# OSX Internal Pool
${{ if and(in(parameters.osGroup, 'osx', 'maccatalyst', 'ios', 'iossimulator', 'tvos', 'tvossimulator'), ne(variables['System.TeamProject'], 'public')) }}:
name: "Azure Pipelines"
vmImage: 'macOS-13'

@agockeagocke changed the title Move default build images to macos 15 (and xcode 16) (#120589)[release/9.0] Move default build images to macos 15 (and xcode 16) (#120589)Dec 11, 2025
@akoeplingerakoeplinger added Servicing-approved Approved for servicing release area-Infrastructure and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Dec 12, 2025
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@steveisok
steveisok enabled auto-merge (squash) January 10, 2026 12:13
@steveisok

Copy link
Copy Markdown
Member

/ba-g Known issue #122183

@steveisok
steveisok merged commit 0d774e0 into dotnet:release/9.0-stagingJan 10, 2026
146 of 150 checks passed
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Feb 10, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-InfrastructureServicing-approvedApproved for servicing release

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants

@agocke@steveisok@akoeplinger@filipnavara