[libcxx-commits] [libcxx] Attempt entire rewrite of buildkite pipeline using anchors. (PR #71624)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Wed Nov 8 16:15:49 PST 2023


================
@@ -28,916 +28,520 @@ env:
     # LLVM RELEASE bump remove compiler ToT - 3, e.g. "Clang 15"
     LLVM_HEAD_VERSION: "18"   # Used compiler, update POST-BRANCH.
     GCC_STABLE_VERSION: "13"
-steps:
-  #
-  # General testing with the default configuration, under all the supported
-  # Standard modes, with Clang and GCC. This catches most issues upfront.
-  # The goal of this step is to catch most issues while being very fast.
-  #
-  - label: "GCC ${GCC_STABLE_VERSION} / C++latest"
-    command: "libcxx/utils/ci/run-buildbot generic-gcc"
-    artifact_paths:
-      - "**/test-results.xml"
-      - "**/*.abilist"
-    env:
-        CC: "gcc-${GCC_STABLE_VERSION}"
-        CXX: "g++-${GCC_STABLE_VERSION}"
-        ENABLE_CLANG_TIDY: "On"
-    agents:
-      queue: "libcxx-builders"
-      os: "linux"
-    retry:
-      automatic:
-        - exit_status: -1  # Agent was lost
-          limit: 2
-    timeout_in_minutes: 120
 
-  - label: "C++26"
-    command: "libcxx/utils/ci/run-buildbot generic-cxx26"
-    artifact_paths:
-      - "**/test-results.xml"
-      - "**/*.abilist"
-    env:
-        # Note modules require and absolute path for clang-scan-deps
-        # https://github.com/llvm/llvm-project/issues/61006
-        CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
-        CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
-        CMAKE: "/opt/bin/cmake"
-        ENABLE_CLANG_TIDY: "On"
-    agents:
-      queue: "libcxx-builders"
-      os: "linux"
-    retry:
-      automatic:
-        - exit_status: -1  # Agent was lost
-          limit: 2
+definitions:
+  _common: &common
     timeout_in_minutes: 120
-
-  - label: "Modular build"
-    command: "libcxx/utils/ci/run-buildbot generic-modules"
-    artifact_paths:
-      - "**/test-results.xml"
-      - "**/*.abilist"
-    env:
-        CC: "clang-${LLVM_HEAD_VERSION}"
-        CXX: "clang++-${LLVM_HEAD_VERSION}"
-        ENABLE_CLANG_TIDY: "On"
-    agents:
-      queue: "libcxx-builders"
-      os: "linux"
     retry:
       automatic:
         - exit_status: -1  # Agent was lost
           limit: 2
-    timeout_in_minutes: 120
-
-  - label: "C++11"
-    command: "libcxx/utils/ci/run-buildbot generic-cxx11"
     artifact_paths:
       - "**/test-results.xml"
       - "**/*.abilist"
-    env:
-        CC: "clang-${LLVM_HEAD_VERSION}"
-        CXX: "clang++-${LLVM_HEAD_VERSION}"
-        ENABLE_CLANG_TIDY: "On"
+      - "**/crash_diagnostics/*"
+
+# Define agents using YAML anchors to reduce duplication
+agents_definitions:
+  _linux_agent: &linux_agent
     agents:
-      queue: "libcxx-builders"
-      os: "linux"
-    retry:
-      automatic:
-        - exit_status: -1  # Agent was lost
-          limit: 2
-    timeout_in_minutes: 120
+      queue: libcxx-builders
+      os: linux
+  _windows_agent: &windows_agent
+    agents:
+      queue: windows
 
-  - label: "C++03"
-    command: "libcxx/utils/ci/run-buildbot generic-cxx03"
-    artifact_paths:
-      - "**/test-results.xml"
-      - "**/*.abilist"
-    env:
-        CC: "clang-${LLVM_HEAD_VERSION}"
-        CXX: "clang++-${LLVM_HEAD_VERSION}"
-        ENABLE_CLANG_TIDY: "On"
+  # Mac OS Builders
+  _mac_agent_x86: &mac_agent_x86
     agents:
-      queue: "libcxx-builders"
-      os: "linux"
-    retry:
-      automatic:
-        - exit_status: -1  # Agent was lost
-          limit: 2
-    timeout_in_minutes: 120
+      queue: libcxx-builders
+      os: macos
+      arch: x86_64
+  _mac_agent_arm64: &mac_agent_arm64
+    agents:
+      queue: libcxx-builders
+      os: macos
+      arch: arm64
+  _mac_agent_any_arch: &mac_agent_any_arch
+    agents:
+      queue: libcxx-builders
+      os: macos
+  _arm_agent_aarch64: &arm_agent_aarch64
+    agents:
+      queue: libcxx-builders-linaro-arm
+      arch: aarch64
+  _arm_agent_armv8l: &arm_agent_armv8l
+    agents:
+      queue: libcxx-builders-linaro-arm
+      arch: armv8l
+  _aix_agent: &aix_agent
+    agents:
+      queue: libcxx-builders
+      os: aix
+  _android_agent: &android_agent
+    agents:
+      queue: libcxx-builders
+      os: android
+
+
+environment_definitions:
+  _common_env: &common_env
+      ENABLE_CLANG_TIDY: "On"
+      LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}"
+      CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics"
+      CC: clang-${LLVM_HEAD_VERSION}
+      CXX: clang++-${LLVM_HEAD_VERSION}
+      CMAKE: /opt/bin/cmake
+
+  _versioned_clang: &versioned_clang
----------------
ldionne wrote:

I think we should rename this to `abolute_clang` or `absolute_path_clang` -- all the clangs we use are "versioned", but this one stands out in that it is an absolute path.

https://github.com/llvm/llvm-project/pull/71624


More information about the libcxx-commits mailing list