[libcxx-commits] [libcxx] 25cbf72 - [libc++] Use apple-install-libcxx.sh in the Apple/system CI job

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Fri Oct 15 03:09:03 PDT 2021


Author: Louis Dionne
Date: 2021-10-15T06:08:25-04:00
New Revision: 25cbf721620180a97505716d09eea557624d422a

URL: https://github.com/llvm/llvm-project/commit/25cbf721620180a97505716d09eea557624d422a
DIFF: https://github.com/llvm/llvm-project/commit/25cbf721620180a97505716d09eea557624d422a.diff

LOG: [libc++] Use apple-install-libcxx.sh in the Apple/system CI job

That script is what we (need to) use to build libc++ for the system
configuration, so that's what we should test against. At some point
we may be able to fold all of that logic into the CMake build, and
when that happens the CI can go back to running CMake directly.

As a fly-by fix, stop mentioning x86_64 in the names of the Apple
jobs since they are not truly tied to any architecture.

Differential Revision: https://reviews.llvm.org/D111865

Added: 
    

Modified: 
    libcxx/utils/ci/buildkite-pipeline.yml
    libcxx/utils/ci/run-buildbot

Removed: 
    


################################################################################
diff  --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
index 67b552541089f..7aff330180a73 100644
--- a/libcxx/utils/ci/buildkite-pipeline.yml
+++ b/libcxx/utils/ci/buildkite-pipeline.yml
@@ -562,7 +562,7 @@ steps:
 
   # Build with the configuration we use to generate libc++.dylib on Apple platforms
   - label: "Apple system"
-    command: "libcxx/utils/ci/run-buildbot x86_64-apple-system"
+    command: "libcxx/utils/ci/run-buildbot apple-system"
     artifact_paths:
       - "**/test-results.xml"
     agents:
@@ -576,7 +576,7 @@ steps:
 
   # Test back-deployment to older Apple platforms
   - label: "Apple back-deployment macosx10.9"
-    command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-backdeployment-10.9"
+    command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.9"
     artifact_paths:
       - "**/test-results.xml"
     agents:
@@ -590,7 +590,7 @@ steps:
     timeout_in_minutes: 120
 
   - label: "Apple back-deployment macosx10.15"
-    command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-backdeployment-10.15"
+    command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.15"
     artifact_paths:
       - "**/test-results.xml"
     agents:

diff  --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
index 79b72eeb3bf87..aeda4c0a26b9c 100755
--- a/libcxx/utils/ci/run-buildbot
+++ b/libcxx/utils/ci/run-buildbot
@@ -377,14 +377,25 @@ generic-no-wide-characters)
                    -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in"
     check-runtimes
 ;;
-x86_64-apple-system)
+apple-system)
     clean
-    generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Apple.cmake" \
-                   -DLIBCXX_TEST_CONFIG="apple-libc++-shared.cfg.in" \
-                   -DLIBCXXABI_TEST_CONFIG="apple-libc++abi-shared.cfg.in"
-    check-runtimes
+
+    sdk_root="$(xcrun --sdk macosx --show-sdk-path)"
+    arch="$(uname -m)"
+
+    ${MONOREPO_ROOT}/libcxx/utils/ci/apple-install-libcxx.sh    \
+        --llvm-root ${MONOREPO_ROOT}                            \
+        --build-dir ${BUILD_DIR}                                \
+        --install-dir ${INSTALL_DIR}                            \
+        --symbols-dir "${BUILD_DIR}/symbols"                    \
+        --sdk "macosx"                                          \
+        --architectures "${arch}"                               \
+        --version "999.99"
+
+    # TODO: It would be better to run the tests against the fake-installed version of libc++ instead
+    xcrun --sdk macosx ninja -vC "${BUILD_DIR}/${arch}" check-cxx check-cxxabi
 ;;
-x86_64-apple-system-backdeployment-*)
+apple-system-backdeployment-*)
     clean
 
     if [[ "${OSX_ROOTS}" == "" ]]; then
@@ -395,14 +406,15 @@ x86_64-apple-system-backdeployment-*)
         curl "${PREVIOUS_DYLIBS_URL}" | tar -xz --strip-components=1 -C "${OSX_ROOTS}"
     fi
 
-    DEPLOYMENT_TARGET="${BUILDER#x86_64-apple-system-backdeployment-}"
+    DEPLOYMENT_TARGET="${BUILDER#apple-system-backdeployment-}"
 
     # TODO: On Apple platforms, we never produce libc++abi.1.dylib, always libc++abi.dylib.
     #       Fix that in the build so that the tests stop searching for @rpath/libc++abi.1.dylib.
     cp "${OSX_ROOTS}/macOS/libc++abi/${DEPLOYMENT_TARGET}/libc++abi.dylib" \
        "${OSX_ROOTS}/macOS/libc++abi/${DEPLOYMENT_TARGET}/libc++abi.1.dylib"
 
-    PARAMS="target_triple=x86_64-apple-macosx${DEPLOYMENT_TARGET}"
+    arch="$(uname -m)"
+    PARAMS="target_triple=${arch}-apple-macosx${DEPLOYMENT_TARGET}"
     PARAMS+=";cxx_runtime_root=${OSX_ROOTS}/macOS/libc++/${DEPLOYMENT_TARGET}"
     PARAMS+=";abi_runtime_root=${OSX_ROOTS}/macOS/libc++abi/${DEPLOYMENT_TARGET}"
     PARAMS+=";use_system_cxx_lib=True"


        


More information about the libcxx-commits mailing list