diff --git a/.ci/setup.sh b/.ci/setup.sh index 30d564b2d5f4..ae8ec0bb782b 100755 --- a/.ci/setup.sh +++ b/.ci/setup.sh @@ -11,15 +11,18 @@ ARCH=$(uname -m) if [[ $OS_NAME == "macos" ]]; then + # Check https://github.com/actions/runner-images/tree/main/images/macos for available + # versions of Xcode + macos_ver=$(sw_vers --productVersion) + if [[ "${macos_ver}" =~ 13. ]]; then + xcode_path="/Applications/Xcode_14.3.app/Contents/Developer" + else + xcode_path="/Applications/Xcode_15.0.app/Contents/Developer" + fi + sudo xcode-select -s "${xcode_path}" || exit 1 if [[ $COMPILER == "clang" ]]; then brew install libomp - if [[ $AZURE == "true" ]]; then - sudo xcode-select -s /Applications/Xcode_13.1.0.app/Contents/Developer || exit 1 - fi else # gcc - # Check https://github.com/actions/runner-images/tree/main/images/macos for available - # versions of Xcode - sudo xcode-select -s /Applications/Xcode_14.3.1.app/Contents/Developer || exit 1 brew install 'gcc@12' fi if [[ $TASK == "mpi" ]]; then diff --git a/.github/workflows/r_package.yml b/.github/workflows/r_package.yml index 66e05a18ba1f..c84664cbd3c6 100644 --- a/.github/workflows/r_package.yml +++ b/.github/workflows/r_package.yml @@ -18,6 +18,20 @@ env: CMAKE_BUILD_PARALLEL_LEVEL: 4 # on Debian-based images, avoid interactive prompts DEBIAN_FRONTEND: noninteractive + # Fix issues like the following that can show up running 'R CMD check' on + # specific clang versions: + # + # * checking for detritus in the temp directory ... NOTE + # Found the following files/directories: + # ‘dsymutil-63923a’ ‘dsymutil-9aa721’ ‘dsymutil-b7e1bb’ + # + # These are unlikely to show up in CRAN's checks. They come from + # 'dsymutil ---gen-reproducer' being run (not something LightGBM explicitly does). + # + # ref: + # - https://github.com/llvm/llvm-project/issues/61920 + # - https://github.com/golang/go/issues/59026#issuecomment-1520487072 + DSYMUTIL_REPRODUCER_PATH: /dev/null # parallelize compilation (extra important for Linux, where CRAN doesn't supply pre-compiled binaries) MAKEFLAGS: "-j4" # hack to get around this: diff --git a/.vsts-ci.yml b/.vsts-ci.yml index 40424840c82d..24cf71b3d9f4 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -288,7 +288,7 @@ jobs: OS_NAME: 'macos' PRODUCES_ARTIFACTS: 'true' pool: - vmImage: 'macOS-12' + vmImage: 'macOS-13' strategy: matrix: regular: