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 python@3.13 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

3 participants