[CI] Build Python wheels for MacOS (x86_64 and arm64) (#7621)
* Build Python wheels for OSX (x86_64 and arm64) * Use Conda's libomp when running Python tests * fix * Add comment to explain CIBW_TARGET_OSX_ARM64 * Update release script * Add comments in build_python_wheels.sh * Document wheel pipeline
This commit is contained in:
committed by
GitHub
parent
271a7c5d43
commit
f6e6d0b2c0
@@ -25,3 +25,15 @@ requests and every update to branches. A few tests however require manual activa
|
||||
details about noLD. This is a requirement for keeping XGBoost on CRAN (the R package index).
|
||||
To invoke this test suite for a particular pull request, simply add a review comment
|
||||
``/gha run r-nold-test``. (Ordinary comment won't work. It needs to be a review comment.)
|
||||
|
||||
GitHub Actions is also used to build Python wheels targeting MacOS Intel and Apple Silicon. See
|
||||
`.github/workflows/python_wheels.yml
|
||||
<https://github.com/dmlc/xgboost/tree/master/.github/workflows/python_wheels.yml>`_. The
|
||||
``python_wheels`` pipeline sets up environment variables prefixed ``CIBW_*`` to indicate the target
|
||||
OS and processor. The pipeline then invokes the script ``build_python_wheels.sh``, which in turns
|
||||
calls ``cibuildwheel`` to build the wheel. The ``cibuildwheel`` is a library that sets up a
|
||||
suitable Python environment for each OS and processor target. Since we don't have Apple Silion
|
||||
machine in GitHub Actions, cross-compilation is needed; ``cibuildwheel`` takes care of the complex
|
||||
task of cross-compiling a Python wheel. (Note that ``cibuildwheel`` will call
|
||||
``setup.py bdist_wheel``. Since XGBoost has a native library component, ``setup.py`` contains
|
||||
a glue code to call CMake and a C++ compiler to build the native library on the fly.)
|
||||
|
||||
Reference in New Issue
Block a user