Move macOS build jobs to a dedicated pool by snnn · Pull Request #26252 · microsoft/onnxruntime

added 13 commits

October 4, 2025 12:53

@snnn snnn marked this pull request as draft

October 6, 2025 23:22

@snnn snnn marked this pull request as ready for review

October 7, 2025 19:05

baijumeswani

@snnn snnn deleted the users/snnn/macos branch

October 7, 2025 19:08

fs-eire pushed a commit that referenced this pull request

Oct 24, 2025
### Description
Move packaging pipelines' macOS build jobs to a new machine pool that is
much faster, which can reduce the build time by 85%.
However, it has some drawbacks:
1. It does not have Java installed. Also, ADO's JavaToolInstaller task
does not support macOS. So I have to remove these things from the
pipeline. We will stop providing java binaries for macOS until this
issue is resolved.
2. It does not Cocoapod. But Cocoapod itself is being deprecated. So it
is not a big deal.

naomiOvad pushed a commit to naomiOvad/onnxruntime that referenced this pull request

Nov 2, 2025
### Description
Move packaging pipelines' macOS build jobs to a new machine pool that is
much faster, which can reduce the build time by 85%.
However, it has some drawbacks:
1. It does not have Java installed. Also, ADO's JavaToolInstaller task
does not support macOS. So I have to remove these things from the
pipeline. We will stop providing java binaries for macOS until this
issue is resolved.
2. It does not Cocoapod. But Cocoapod itself is being deprecated. So it
is not a big deal.

tianleiwu added a commit that referenced this pull request

Feb 11, 2026
### Description

This PR restores Java support on macOS arm64 and fixes Jar testing
failures on the new AcesShared pool.

#### Background

Commit `5ed340f7a51f3cbdb62577a874daf2b3f23d6a93`
(#26252) moved macOS builds
to a faster pool (AcesShared) which reduced build time by 85%, but this
pool doesn't have JDK installed and ADO's `JavaToolInstaller` doesn't
support macOS. As a result, Java binaries for macOS arm64 were
temporarily removed.

#### Changes

1. Enable Java Builds & Tests on macOS ARM64:
* Install JDK 17: Added a script to install JDK 17 via Homebrew if
missing on the agent.
* Install Maven: Added a fallback to install Maven using curl (since
wget is missing on macOS) and configured it to use the * dynamically
resolved JAVA_HOME.
* Pipeline Updates: Updated jar_package_testing.yml and
final-jar-testing-linux.yml to run correctly on AcesShared.
2. Fix C API Tests on macOS ARM64:
* Pool Migration: Updated c-api-noopenmp-test-pipelines.yml to use
AcesShared with the correct ImageOverride.
* Template Enhancements: Updated nuget/templates/test_macos.yml to
support dynamic AgentPool and PoolDemands.
* Fix Missing Artifact: Modified mac-cpu-packaging-steps.yml to
explicitly copy libcustom_op_library.dylib into the testdata folder of
the artifact, resolving DllNotFoundException in EndToEndTests.

### Motivation and Context

To ensure robust CI coverage for macOS ARM64 (Apple Silicon) for both
Java and C APIs effectively using the efficient AcesShared pool.

### Testing

- Final_Jar_Testing_MacOS passed: 

https://dev.azure.com/aiinfra/Lotus/_build/results?buildId=1081961&view=logs&j=f1f8e11e-a9fa-53e5-cd29-3ba2c1988550&t=f4fafe98-de38-519c-0045-d220f6898d47

tianleiwu added a commit that referenced this pull request

Feb 12, 2026
### Description

This PR restores Java support on macOS arm64 and fixes Jar testing
failures on the new AcesShared pool.

#### Background

Commit `5ed340f7a51f3cbdb62577a874daf2b3f23d6a93`
(#26252) moved macOS builds
to a faster pool (AcesShared) which reduced build time by 85%, but this
pool doesn't have JDK installed and ADO's `JavaToolInstaller` doesn't
support macOS. As a result, Java binaries for macOS arm64 were
temporarily removed.

#### Changes

1. Enable Java Builds & Tests on macOS ARM64:
* Install JDK 17: Added a script to install JDK 17 via Homebrew if
missing on the agent.
* Install Maven: Added a fallback to install Maven using curl (since
wget is missing on macOS) and configured it to use the * dynamically
resolved JAVA_HOME.
* Pipeline Updates: Updated jar_package_testing.yml and
final-jar-testing-linux.yml to run correctly on AcesShared.
2. Fix C API Tests on macOS ARM64:
* Pool Migration: Updated c-api-noopenmp-test-pipelines.yml to use
AcesShared with the correct ImageOverride.
* Template Enhancements: Updated nuget/templates/test_macos.yml to
support dynamic AgentPool and PoolDemands.
* Fix Missing Artifact: Modified mac-cpu-packaging-steps.yml to
explicitly copy libcustom_op_library.dylib into the testdata folder of
the artifact, resolving DllNotFoundException in EndToEndTests.

### Motivation and Context

To ensure robust CI coverage for macOS ARM64 (Apple Silicon) for both
Java and C APIs effectively using the efficient AcesShared pool.

### Testing

- Final_Jar_Testing_MacOS passed: 

https://dev.azure.com/aiinfra/Lotus/_build/results?buildId=1081961&view=logs&j=f1f8e11e-a9fa-53e5-cd29-3ba2c1988550&t=f4fafe98-de38-519c-0045-d220f6898d47