From 1b9ed4a4a1ed80f77cbf30448fc2e0c417130755 Mon Sep 17 00:00:00 2001 From: Philip Hyunsu Cho Date: Wed, 1 Nov 2023 10:03:56 -0700 Subject: [PATCH] [CI] Improve CI for Mac M1 (#9748) * [CI] Improve CI for Mac M1 * Add -v flag * Disable OpenMP in libxgboost4j.dylib * Target MacOS 10.15+ to use C++17 --- CMakeLists.txt | 3 +++ tests/buildkite/test-macos-m1-clang11.sh | 19 +++++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e93427ed9..4ad10723f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,6 +32,9 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") message(FATAL_ERROR "Need Clang 9.0 or newer to build XGBoost") endif() endif() +if(APPLE) + set(CMAKE_MACOSX_DEPLOYMENT_TARGET 10.15) +endif() include(${xgboost_SOURCE_DIR}/cmake/PrefetchIntrinsics.cmake) find_prefetch_intrinsics() diff --git a/tests/buildkite/test-macos-m1-clang11.sh b/tests/buildkite/test-macos-m1-clang11.sh index fdd1aba84..cc5406810 100755 --- a/tests/buildkite/test-macos-m1-clang11.sh +++ b/tests/buildkite/test-macos-m1-clang11.sh @@ -12,14 +12,17 @@ sysctl -n machdep.cpu.brand_string uname -m set +x -# Create new Conda env -echo "--- Set up Conda env" -. $HOME/mambaforge/etc/profile.d/conda.sh -. $HOME/mambaforge/etc/profile.d/mamba.sh -conda_env=xgboost_dev_$(uuidgen | tr '[:upper:]' '[:lower:]' | tr -d '-') -mamba create -y -n ${conda_env} python=3.8 -conda activate ${conda_env} -mamba env update -n ${conda_env} --file tests/ci_build/conda_env/macos_cpu_test.yml +# Build XGBoost4J binary +echo "--- Build libxgboost4j.dylib" +set -x +mkdir build +pushd build +export JAVA_HOME=$(/usr/libexec/java_home) +cmake .. -GNinja -DJVM_BINDINGS=ON -DUSE_OPENMP=OFF +ninja -v +popd +rm -rf build +set +x # Ensure that XGBoost can be built with Clang 11 echo "--- Build and Test XGBoost with MacOS M1, Clang 11"