Skip to content

Bump iOS simulator arm64 Helix queue to OSX.26 and centralize iOS-family queues#128448

Draft
matouskozak wants to merge 2 commits into
dotnet:mainfrom
matouskozak:matouskozak/ios-sim-arm64-osx26-helix
Draft

Bump iOS simulator arm64 Helix queue to OSX.26 and centralize iOS-family queues#128448
matouskozak wants to merge 2 commits into
dotnet:mainfrom
matouskozak:matouskozak/ios-sim-arm64-osx26-helix

Conversation

@matouskozak
Copy link
Copy Markdown
Member

@matouskozak matouskozak commented May 21, 2026

Note

Content authored with assistance from GitHub Copilot.

Moves the iOS / tvOS simulator, Mac Catalyst, and iOS / tvOS device Helix queue references onto centralized variables in eng/pipelines/helix-platforms.yml, and bumps the iOS-family arm64 simulator queue from OSX.15.Arm64 to OSX.26.Arm64 (Tahoe) at the same time.

Functional change

Platform Public queue before Public queue after Internal queue before Internal queue after
iossimulator_arm64 / tvossimulator_arm64 / maccatalyst_arm64 OSX.15.Arm64.Open OSX.26.Arm64.Open OSX.15.Arm64 OSX.26.Arm64
iossimulator_x64 / tvossimulator_x64 / maccatalyst_x64 OSX.15.Amd64.Open OSX.15.Amd64.Open OSX.15.Amd64 OSX.15.Amd64
ios_arm64 device osx.15.amd64.iphone.open OSX.15.Amd64.Iphone.Open osx.15.amd64.iphone OSX.15.Amd64.Iphone
tvos_arm64 device osx.15.amd64.appletv.open OSX.15.Amd64.AppleTV.Open osx.15.amd64.appletv OSX.15.Amd64.AppleTV

Only the arm64 simulator row is a behavioral change. Everything else is a same-queue replacement (Helix queue names are case-insensitive, so the case-only changes are no-ops).

OSX.26.Arm64(.Open) is already declared in helix-platforms.yml as the macOS-arm64 latest queue and is in use elsewhere, so no dnceng coordination is required.

Centralization cleanup

eng/pipelines/helix-platforms.yml was added in #120817 specifically to centralize Helix queue names, but the iOS-family entries were never wired up at the call sites and the values there had drifted/were buggy. This PR finishes that work:

  • Defined a public/internal pair of variables for each iOS-family queue:
    • helix_macos_ios_simulator_arm64 / _internal
    • helix_macos_ios_simulator_x64 / _internal
    • helix_macos_ios_device / _internal
    • helix_macos_tvos_device / _internal
  • Switched eng/pipelines/libraries/helix-queues-setup.yml and eng/pipelines/coreclr/templates/helix-queues-setup.yml to consume them, so future bumps only touch helix-platforms.yml.
  • Dropped the unused _latest / _oldest variants — the iOS family only has a single queue per (platform, project) combination, so no slot picker is needed. The pre-existing _latest arm64-simulator entry was also pointing at an Amd64 queue, so it was buggy as well as unused.
  • Corrected the helix_macos_arm64_latest comment that described macOS 26 as "Sequoia 15"; macOS 26 is Tahoe.

- Bump iOS/tvOS simulator and Mac Catalyst arm64 Helix queue from
  OSX.15.Arm64 to OSX.26.Arm64 (Tahoe).
- Define the iOS/tvOS simulator, iOS device, and tvOS device queues
  as variables in eng/pipelines/helix-platforms.yml (public + internal),
  and switch the libraries and coreclr helix-queues-setup.yml call sites
  to consume them, so future updates only need to touch one file.
- Drop the unused / incorrect helix_macos_ios_*_latest / _oldest
  variants that nobody referenced (the arm64-simulator entry was even
  pointing at an Amd64 queue).
- Fix the helix_macos_arm64_latest comment that incorrectly described
  macOS 26 as 'Sequoia 15'; macOS 26 is Tahoe.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@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.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates Helix queue selection for the iOS/tvOS simulator, Mac Catalyst, and iOS/tvOS device platforms by centralizing their queue names into eng/pipelines/helix-platforms.yml and switching the queue-setup templates to consume those variables. It also bumps the arm64 iOS-family simulator host queue from OSX.15.Arm64(.Open) to OSX.26.Arm64(.Open).

Changes:

  • Centralized iOS-family Helix queue names into new helix_macos_ios_* variables in eng/pipelines/helix-platforms.yml (including public/internal variants).
  • Updated CoreCLR and Libraries helix queue setup templates to reference the centralized variables instead of inline queue strings.
  • Updated macOS-arm64 “latest” comment to reflect macOS 26 (Tahoe).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
eng/pipelines/libraries/helix-queues-setup.yml Replaces inline iOS-family queue strings with centralized helix_macos_ios_* variables.
eng/pipelines/helix-platforms.yml Adds iOS-family queue variables (public/internal), removes unused iOS-family latest/oldest variants, and updates macOS 26 labeling.
eng/pipelines/coreclr/templates/helix-queues-setup.yml Switches iOS-family queue selection to centralized variables (with public/internal branching).

Comment thread eng/pipelines/libraries/helix-queues-setup.yml
runtime-ioslike.yml, runtime-ioslikesimulator.yml, and
runtime-maccatalyst.yml are standalone Azure Pipelines drivers
typically triggered directly via '/azp run runtime-ioslikesimulator',
not as part of the default runtime pipeline. They did not include
eng/pipelines/helix-platforms.yml, so the centralized
$(helix_macos_ios_*) variables introduced in the previous commit
would fail to resolve when those pipelines are queued directly.

Add the template include to each driver, matching the pattern used by
runtime-cet.yml, runtime-extra-platforms.yml, runtime-sanitized.yml,
and the coreclr stress pipelines. Originally proposed in dotnet#123083.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@matouskozak
Copy link
Copy Markdown
Member Author

/azp run runtime-maccatalyst

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

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

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants