Skip to content

Conversation

asp2286
Copy link
Contributor

@asp2286 asp2286 commented Sep 18, 2025

PR: macOS x64 CI: fix dependency install and OpenMP runtime copy

Summary

This PR fixes MachineLearning-CI failures on macOS x64 where jobs stop at Install MacOS build dependencies with:

Bash exited with code '1'

The breakage comes from two areas:

  1. Dependency install: The pipeline relied on a custom libomp.rb path that no longer works on hosted macOS images.
  2. Helix payload: The script attempted to copy both libomp.dylib and libiomp5.dylib, but libiomp5.dylib is not available when installing libomp from Homebrew core.

Fixes #7509


Changes

build/ci/job-template.yml

  • Replace custom brew install …/build/libomp.rb with standard Homebrew:
    brew update
    brew install -f --overwrite [email protected]
    brew install libomp
    brew link libomp --force
  • Note added: Homebrew ≥4.6 rejects installing formulae from raw paths.

eng/helix.proj

  • macOS x64 only:
    • Set DYLD_LIBRARY_PATH so Helix can find libomp.dylib.
    • Copy only /usr/local/opt/libomp/lib/libomp.dylib into the publish folder.
    • Remove copying of libiomp5.dylib (not present with libomp from Homebrew).
    • Add install-name fix so binaries reference @loader_path/libomp.dylib.

Why

  • Hosted macOS runners changed: raw formula paths are blocked, and only libomp is available via core.
  • Ensures reliable dependency install and payload runtime linking.
  • Other platforms (Linux, Windows, macOS arm64) are unaffected.

Testing

  • Reproduced failure on osx.13.amd64.open queue.
  • With these changes:
    • Dependency install step completes successfully.
    • libomp.dylib is present in publish folder.
    • Helix payload runs with DYLD_LIBRARY_PATH set correctly.
  • Validated in a test run: both macOS x64 Debug/Release proceed past dependency install and build succeeds.

Risk / Impact

  • Low: scoped only to macOS x64 build dependencies and Helix payload.
  • No product code changes, only CI infra adjustments.

Additional Notes

  • Linux and Windows jobs were already green.
  • If maintainers prefer llvm over libomp as the OpenMP provider, happy to adjust.

PR Checklist

Copy link

Commenter does not have sufficient privileges for PR 7510 in repo dotnet/machinelearning

Copy link

codecov bot commented Sep 18, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 69.00%. Comparing base (fb39755) to head (1390b39).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7510      +/-   ##
==========================================
- Coverage   69.01%   69.00%   -0.01%     
==========================================
  Files        1482     1482              
  Lines      273999   273999              
  Branches    28258    28258              
==========================================
- Hits       189093   189075      -18     
- Misses      77520    77536      +16     
- Partials     7386     7388       +2     
Flag Coverage Δ
Debug 69.00% <ø> (-0.01%) ⬇️
production 63.29% <ø> (-0.01%) ⬇️
test 89.46% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link

Commenter does not have sufficient privileges for PR 7510 in repo dotnet/machinelearning

@asp2286 asp2286 marked this pull request as draft September 18, 2025 12:03
@asp2286 asp2286 marked this pull request as ready for review September 18, 2025 12:03
@asp2286 asp2286 force-pushed the fix/macos-x64-libomp branch from 6c0c6a4 to 47bb847 Compare September 18, 2025 12:06
@asp2286
Copy link
Contributor Author

asp2286 commented Sep 26, 2025

@artl93 @ericstj Could you please review this PR? Thank you!

@asp2286 asp2286 force-pushed the fix/macos-x64-libomp branch 2 times, most recently from e44de68 to eb0ee80 Compare September 28, 2025 16:50
@asp2286 asp2286 force-pushed the fix/macos-x64-libomp branch from eb0ee80 to d282b6a Compare September 29, 2025 01:39
@skyRoma
Copy link

skyRoma commented Sep 30, 2025

I really need these changes, thanks!

@ericstj
Copy link
Member

ericstj commented Sep 30, 2025

I tried to simplify a bit where x64 and M1 were the same. Let's see if this will also resolve the M1 failure.

@asp2286
Copy link
Contributor Author

asp2286 commented Oct 1, 2025

/ba-g Mac-OS unrelated failures

@asp2286 asp2286 force-pushed the fix/macos-x64-libomp branch from f0ce5ba to 1390b39 Compare October 1, 2025 02:50
@ericstj ericstj merged commit a5997af into dotnet:main Oct 1, 2025
22 of 25 checks passed
@asp2286 asp2286 deleted the fix/macos-x64-libomp branch October 2, 2025 07:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

MacOS_x64 Debug/Release build jobs fail in MachineLearning-CI: “Bash exited with code '1' – Install MacOS build dependencies”
3 participants