[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