-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ci] [python-package] build macOS x86_64 wheels on macOS 13 (Ventura) #6669
Conversation
This PR is a blocker now.
All Azure macOS jobs are failing with
now. E.g. https://dev.azure.com/lightgbm-ci/lightgbm-ci/_build/results?buildId=17480&view=results |
ugh sorry for letting it slip. I will work on this right now. |
Ok, getting closer! Python jobs are producing wheels with the expected tags.
(Azure DevOps Python bdist job on macos-13, x86_64)
(GitHub Actions Python bdist job on macos-14, arm64) However, the
I'll try to fix that. |
xcode_path="/Applications/Xcode_14.3.app/Contents/Developer" | ||
else | ||
xcode_path="/Applications/Xcode_15.0.app/Contents/Developer" | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Chose the oldest included versions of XCode from here:
- https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md#xcode
- https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md#xcode
And while doing this, proposing this more-direct approach for selecting the version... depending on the actual macOS version instead of things that indirectly select it from this project's CI configs, like $AZURE
and $COMPILER
.
# ref: | ||
# - https://github.com/llvm/llvm-project/issues/61920 | ||
# - https://github.com/golang/go/issues/59026#issuecomment-1520487072 | ||
DSYMUTIL_REPRODUCER_PATH: /dev/null |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When dsymutil
is run with e.g. --gen-reproducer
or similar flags, it leaves behind these temporary directories with details for filing bug reports.
In some versions of clang, those are not cleaned up correctly (llvm/llvm-project#61920).
dsymutil
is writing those files to TMPDIR
, which is the "temp directory" referred to in this R CMD check
NOTE.
Redirecting these files to anywhere else avoids the R CMD check
NOTE. That can be done via environment variable DSYMUTIL_REPRODUCER_PATH
. Here, I'm following the tip from golang/go#59026 (comment) and using /dev/null
, so the files aren't even written to disk at all.
I think this is all fine for CI. If this kind of thing was a problem on CRAN, it'd affect every project on CRAN building with clang
14, as I LightGBM isn't doing anything custom with dsymutil
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for fast update!
I recently noticed warnings like this on Azure DevOps:
This proposes moving Azure DevOps x86_64 macOS jobs in this project to macOS 13 (Ventura).
Notes for Reviewers
Some relevant links.
macos-13
: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md#xcodemacos-14
: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md#xcode