Skip to content

Move macOS build jobs to a dedicated pool#26252

Merged
snnn merged 14 commits intomainfrom
users/snnn/macos
Oct 7, 2025
Merged

Move macOS build jobs to a dedicated pool#26252
snnn merged 14 commits intomainfrom
users/snnn/macos

Conversation

@snnn
Copy link
Contributor

@snnn snnn commented Oct 6, 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.

@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
@snnn
Copy link
Contributor Author

snnn commented Oct 7, 2025

There are some test failures in the Nuget Test pipeline and Jar Packaging Test pipeline, because these pipelines have not been migrated to the new machine yet. I will solve it later.

@snnn snnn merged commit 5ed340f into main Oct 7, 2025
135 of 141 checks passed
@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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants