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

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Oct 14 21:25:05 PDT 2021


ldionne created this revision.
Herald added subscribers: pengfei, arichardson.
ldionne requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D111865

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


Index: libcxx/utils/ci/run-buildbot
===================================================================
--- libcxx/utils/ci/run-buildbot
+++ libcxx/utils/ci/run-buildbot
@@ -377,14 +377,25 @@
                    -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 @@
         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"
Index: libcxx/utils/ci/buildkite-pipeline.yml
===================================================================
--- libcxx/utils/ci/buildkite-pipeline.yml
+++ libcxx/utils/ci/buildkite-pipeline.yml
@@ -562,7 +562,7 @@
 
   # 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 @@
 
   # 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 @@
     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:


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111865.379915.patch
Type: text/x-patch
Size: 3640 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20211015/7dd8948b/attachment-0001.bin>


More information about the libcxx-commits mailing list