diff --git a/clang/foo.txt b/clang/foo.txt new file mode 100644 diff --git a/libcxx/utils/ci/buildkite-pipeline-clang.yml b/libcxx/utils/ci/buildkite-pipeline-clang.yml deleted file mode 100644 --- a/libcxx/utils/ci/buildkite-pipeline-clang.yml +++ /dev/null @@ -1,103 +0,0 @@ -#===----------------------------------------------------------------------===## -# -# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -# See https://llvm.org/LICENSE.txt for license information. -# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -# -#===----------------------------------------------------------------------===## - -# -# This file describes the various pre-commit CI bots used to test Clang against -# libc++ under various configurations. Unlike the usual libc++ CI pipeline, -# which aims to test libc++ itself, this pipeline aims to test Clang by -# compiling libc++ and running its test suite against the just-built Clang, -# in various configurations. -# -env: - LLVM_HEAD_VERSION: "16" -steps: - - label: "Building clang" - commands: - - "mkdir install" - - "cmake -S llvm -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=install -DLLVM_ENABLE_PROJECTS=\"clang;compiler-rt\"" - - "ninja -C build install-clang install-clang-resource-headers" - - "buildkite-agent artifact upload 'install/**/*'" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - wait - - - label: "C++03" - commands: - - "buildkite-agent artifact download 'install/**' ." - - "export CC=$(pwd)/install/bin/clang" - - "export CXX=$(pwd)/install/bin/clang++" - - "chmod +x install/bin/clang install/bin/clang++" - - "libcxx/utils/ci/run-buildbot generic-cxx03" - artifact_paths: - - "**/test-results.xml" - - "**/crash_diagnostics/*" - env: - LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}" # TODO: Should we build that from scratch? - CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - label: "C++2b" - commands: - - "buildkite-agent artifact download 'install/**' ." - - "export CC=$(pwd)/install/bin/clang" - - "export CXX=$(pwd)/install/bin/clang++" - - "chmod +x install/bin/clang install/bin/clang++" - - "libcxx/utils/ci/run-buildbot generic-cxx2b" - artifact_paths: - - "**/test-results.xml" - - "**/crash_diagnostics/*" - env: - LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}" # TODO: Should we build that from scratch? - CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - label: "Modules" - commands: - - "buildkite-agent artifact download 'install/**' ." - - "export CC=$(pwd)/install/bin/clang" - - "export CXX=$(pwd)/install/bin/clang++" - - "chmod +x install/bin/clang install/bin/clang++" - - "libcxx/utils/ci/run-buildbot generic-modules" - artifact_paths: - - "**/test-results.xml" - - "**/crash_diagnostics/*" - env: - LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}" # TODO: Should we build that from scratch? - CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml --- a/libcxx/utils/ci/buildkite-pipeline.yml +++ b/libcxx/utils/ci/buildkite-pipeline.yml @@ -27,265 +27,19 @@ LLVM_HEAD_VERSION: "16" GCC_STABLE_VERSION: "12" steps: - # - # Light pre-commit tests for things like formatting or when people forget - # to update generated files. - # - - label: "Format" - command: "libcxx/utils/ci/run-buildbot check-format" - artifact_paths: - - "**/clang-format.patch" - env: - GIT_CLANG_FORMAT: "/usr/bin/git-clang-format-${LLVM_STABLE_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - soft_fail: - - exit_status: 1 - timeout_in_minutes: 120 - - - label: "Generated output" - command: "libcxx/utils/ci/run-buildbot check-generated-output" - artifact_paths: - - "**/generated_output.patch" - - "**/generated_output.status" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - label: "Documentation" - command: "libcxx/utils/ci/run-buildbot documentation" - artifact_paths: - - "**/test-results.xml" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - # - # 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. - # - - wait - - - 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}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - label: "C++2b" - command: "libcxx/utils/ci/run-buildbot generic-cxx2b" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - 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}" - 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}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - 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}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - # - # All other supported configurations of libc++. - # - - wait - - - label: "C++20" - command: "libcxx/utils/ci/run-buildbot generic-cxx20" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - label: "C++17" - command: "libcxx/utils/ci/run-buildbot generic-cxx17" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - label: "C++14" - command: "libcxx/utils/ci/run-buildbot generic-cxx14" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - # Tests with the supported compilers. - - label: "GCC ${GCC_STABLE_VERSION} / C++11" - command: "libcxx/utils/ci/run-buildbot generic-gcc-cxx11" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "gcc-${GCC_STABLE_VERSION}" - CXX: "g++-${GCC_STABLE_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - label: "Clang 14" - command: "libcxx/utils/ci/run-buildbot generic-cxx2b" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-14" - CXX: "clang++-14" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - label: "Clang 15" - command: "libcxx/utils/ci/run-buildbot generic-cxx2b" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-15" - CXX: "clang++-15" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - # Tests with the sanitizers. - - group: "Sanitizers" - steps: - - label: "ASAN" - command: "libcxx/utils/ci/run-buildbot generic-asan" +- group: "Running normal libc++ pre-commit CI" + if: "build.env('RUN_LIBCXX_PRECOMMIT') != null" + steps: + # + # Light pre-commit tests for things like formatting or when people forget + # to update generated files. + # + - label: "Format" + command: "libcxx/utils/ci/run-buildbot check-format" artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" + - "**/clang-format.patch" env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" + GIT_CLANG_FORMAT: "/usr/bin/git-clang-format-${LLVM_STABLE_VERSION}" agents: queue: "libcxx-builders" os: "linux" @@ -293,16 +47,15 @@ automatic: - exit_status: -1 # Agent was lost limit: 2 + soft_fail: + - exit_status: 1 timeout_in_minutes: 120 - - label: "TSAN" - command: "libcxx/utils/ci/run-buildbot generic-tsan" + - label: "Generated output" + command: "libcxx/utils/ci/run-buildbot check-generated-output" artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" + - "**/generated_output.patch" + - "**/generated_output.status" agents: queue: "libcxx-builders" os: "linux" @@ -312,14 +65,10 @@ limit: 2 timeout_in_minutes: 120 - - label: "UBSAN" - command: "libcxx/utils/ci/run-buildbot generic-ubsan" + - label: "Documentation" + command: "libcxx/utils/ci/run-buildbot documentation" artifact_paths: - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" agents: queue: "libcxx-builders" os: "linux" @@ -329,14 +78,21 @@ limit: 2 timeout_in_minutes: 120 - - label: "MSAN" - command: "libcxx/utils/ci/run-buildbot generic-msan" + # + # 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. + # + - wait + + - label: "GCC ${GCC_STABLE_VERSION} / C++latest" + command: "libcxx/utils/ci/run-buildbot generic-gcc" artifact_paths: - "**/test-results.xml" - "**/*.abilist" env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" + CC: "gcc-${GCC_STABLE_VERSION}" + CXX: "g++-${GCC_STABLE_VERSION}" agents: queue: "libcxx-builders" os: "linux" @@ -346,134 +102,8 @@ limit: 2 timeout_in_minutes: 120 - # Tests with the various supported ways to build libc++. - - label: "Bootstrapping build" - command: "libcxx/utils/ci/run-buildbot bootstrapping-build" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - - "**/crash_diagnostics/*" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}" - CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - # Tests with various build configurations. - - label: "Static libraries" - command: "libcxx/utils/ci/run-buildbot generic-static" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - label: "Shared library with merged ABI and unwinder libraries" - command: "libcxx/utils/ci/run-buildbot generic-merged" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - label: "Assertions enabled" - command: "libcxx/utils/ci/run-buildbot generic-assertions" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - label: "Debug mode" - command: "libcxx/utils/ci/run-buildbot generic-debug-mode" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - label: "No transitive includes" - command: "libcxx/utils/ci/run-buildbot generic-no-transitive-includes" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - label: "With LLVM's libunwind" - command: "libcxx/utils/ci/run-buildbot generic-with_llvm_unwinder" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - - group: "Parts disabled" - steps: - - label: "No threads" - command: "libcxx/utils/ci/run-buildbot generic-no-threads" + - label: "C++2b" + command: "libcxx/utils/ci/run-buildbot generic-cxx2b" artifact_paths: - "**/test-results.xml" - "**/*.abilist" @@ -489,8 +119,8 @@ limit: 2 timeout_in_minutes: 120 - - label: "No filesystem" - command: "libcxx/utils/ci/run-buildbot generic-no-filesystem" + - label: "Modular build" + command: "libcxx/utils/ci/run-buildbot generic-modules" artifact_paths: - "**/test-results.xml" - "**/*.abilist" @@ -506,8 +136,8 @@ limit: 2 timeout_in_minutes: 120 - - label: "No random device" - command: "libcxx/utils/ci/run-buildbot generic-no-random_device" + - label: "C++11" + command: "libcxx/utils/ci/run-buildbot generic-cxx11" artifact_paths: - "**/test-results.xml" - "**/*.abilist" @@ -523,8 +153,8 @@ limit: 2 timeout_in_minutes: 120 - - label: "No fstream" - command: "libcxx/utils/ci/run-buildbot generic-no-fstream" + - label: "C++03" + command: "libcxx/utils/ci/run-buildbot generic-cxx03" artifact_paths: - "**/test-results.xml" - "**/*.abilist" @@ -540,8 +170,13 @@ limit: 2 timeout_in_minutes: 120 - - label: "No locale" - command: "libcxx/utils/ci/run-buildbot generic-no-localization" + # + # All other supported configurations of libc++. + # + - wait + + - label: "C++20" + command: "libcxx/utils/ci/run-buildbot generic-cxx20" artifact_paths: - "**/test-results.xml" - "**/*.abilist" @@ -557,8 +192,8 @@ limit: 2 timeout_in_minutes: 120 - - label: "No Unicode" - command: "libcxx/utils/ci/run-buildbot generic-no-unicode" + - label: "C++17" + command: "libcxx/utils/ci/run-buildbot generic-cxx17" artifact_paths: - "**/test-results.xml" - "**/*.abilist" @@ -574,8 +209,8 @@ limit: 2 timeout_in_minutes: 120 - - label: "No wide characters" - command: "libcxx/utils/ci/run-buildbot generic-no-wide-characters" + - label: "C++14" + command: "libcxx/utils/ci/run-buildbot generic-cxx14" artifact_paths: - "**/test-results.xml" - "**/*.abilist" @@ -591,14 +226,15 @@ limit: 2 timeout_in_minutes: 120 - - label: "No experimental features" - command: "libcxx/utils/ci/run-buildbot generic-no-experimental" + # Tests with the supported compilers. + - label: "GCC ${GCC_STABLE_VERSION} / C++11" + command: "libcxx/utils/ci/run-buildbot generic-gcc-cxx11" artifact_paths: - "**/test-results.xml" - "**/*.abilist" env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" + CC: "gcc-${GCC_STABLE_VERSION}" + CXX: "g++-${GCC_STABLE_VERSION}" agents: queue: "libcxx-builders" os: "linux" @@ -608,14 +244,14 @@ limit: 2 timeout_in_minutes: 120 - - label: "No exceptions" - command: "libcxx/utils/ci/run-buildbot generic-noexceptions" + - label: "Clang 14" + command: "libcxx/utils/ci/run-buildbot generic-cxx2b" artifact_paths: - "**/test-results.xml" - "**/*.abilist" env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" + CC: "clang-14" + CXX: "clang++-14" agents: queue: "libcxx-builders" os: "linux" @@ -625,347 +261,810 @@ limit: 2 timeout_in_minutes: 120 - - label: "Unstable ABI" - command: "libcxx/utils/ci/run-buildbot generic-abi-unstable" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - # Other non-testing CI jobs - - label: "Benchmarks" - command: "libcxx/utils/ci/run-buildbot benchmarks" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - env: - CC: "clang-${LLVM_HEAD_VERSION}" - CXX: "clang++-${LLVM_HEAD_VERSION}" - agents: - queue: "libcxx-builders" - os: "linux" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 - - # Tests on non-Unix platforms - - group: ":windows: Windows" - steps: - - label: "Clang-cl (DLL)" - command: "bash libcxx/utils/ci/run-buildbot clang-cl-dll" + - label: "Clang 15" + command: "libcxx/utils/ci/run-buildbot generic-cxx2b" artifact_paths: - "**/test-results.xml" - "**/*.abilist" + env: + CC: "clang-15" + CXX: "clang++-15" agents: - queue: "windows" + queue: "libcxx-builders" + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost limit: 2 timeout_in_minutes: 120 - - label: "Clang-cl (Static)" - command: "bash libcxx/utils/ci/run-buildbot clang-cl-static" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "windows" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 + # Tests with the sanitizers. + - group: "Sanitizers" + steps: + - label: "ASAN" + command: "libcxx/utils/ci/run-buildbot generic-asan" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 - - label: "Clang-cl (no vcruntime exceptions)" - command: "bash libcxx/utils/ci/run-buildbot clang-cl-no-vcruntime" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "windows" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 + - label: "TSAN" + command: "libcxx/utils/ci/run-buildbot generic-tsan" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 - - label: "MinGW (DLL, x86_64)" - command: "bash libcxx/utils/ci/run-buildbot mingw-dll" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "windows" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 + - label: "UBSAN" + command: "libcxx/utils/ci/run-buildbot generic-ubsan" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 - - label: "MinGW (Static, x86_64)" - command: "bash libcxx/utils/ci/run-buildbot mingw-static" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "windows" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 + - label: "MSAN" + command: "libcxx/utils/ci/run-buildbot generic-msan" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 - - label: "MinGW (DLL, i686)" - command: "bash libcxx/utils/ci/run-buildbot mingw-dll-i686" + # Tests with the various supported ways to build libc++. + - label: "Bootstrapping build" + command: "libcxx/utils/ci/run-buildbot bootstrapping-build" artifact_paths: - "**/test-results.xml" - "**/*.abilist" + - "**/crash_diagnostics/*" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}" + CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics" agents: - queue: "windows" + queue: "libcxx-builders" + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost limit: 2 timeout_in_minutes: 120 - - group: ":apple: Apple" - steps: - - label: "MacOS x86_64" - command: "libcxx/utils/ci/run-buildbot apple-cxx20" + # Tests with various build configurations. + - label: "Static libraries" + command: "libcxx/utils/ci/run-buildbot generic-static" artifact_paths: - "**/test-results.xml" - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" agents: queue: "libcxx-builders" - os: "macos" - arch: "x86_64" + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost limit: 2 timeout_in_minutes: 120 - - label: "MacOS arm64" - command: "libcxx/utils/ci/run-buildbot apple-cxx20" + - label: "Shared library with merged ABI and unwinder libraries" + command: "libcxx/utils/ci/run-buildbot generic-merged" artifact_paths: - "**/test-results.xml" - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" agents: queue: "libcxx-builders" - os: "macos" - arch: "arm64" + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost limit: 2 timeout_in_minutes: 120 - # Build with the configuration we use to generate libc++.dylib on Apple platforms - - label: "Apple system" - command: "libcxx/utils/ci/run-buildbot apple-system" + - label: "Assertions enabled" + command: "libcxx/utils/ci/run-buildbot generic-assertions" artifact_paths: - "**/test-results.xml" - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" agents: queue: "libcxx-builders" - os: "macos" - arch: "arm64" # This can technically run on any architecture, but we have more resources on arm64 so we pin this job to arm64 + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost limit: 2 timeout_in_minutes: 120 - # Test back-deployment to older Apple platforms - - label: "Apple back-deployment macosx10.9" - command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.9" + - label: "Debug mode" + command: "libcxx/utils/ci/run-buildbot generic-debug-mode" artifact_paths: - "**/test-results.xml" - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" agents: queue: "libcxx-builders" - os: "macos" - arch: "x86_64" # We need to use x86_64 for back-deployment CI on this target since macOS didn't support arm64 back then. + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost limit: 2 timeout_in_minutes: 120 - - label: "Apple back-deployment macosx10.15" - command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.15" + - label: "No transitive includes" + command: "libcxx/utils/ci/run-buildbot generic-no-transitive-includes" artifact_paths: - "**/test-results.xml" - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" agents: queue: "libcxx-builders" - os: "macos" - arch: "x86_64" # We need to use x86_64 for back-deployment CI on this target since macOS didn't support arm64 back then. + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost limit: 2 timeout_in_minutes: 120 - - label: "Apple back-deployment macosx11.0 arm64" - command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-11.0" + - label: "With LLVM's libunwind" + command: "libcxx/utils/ci/run-buildbot generic-with_llvm_unwinder" artifact_paths: - "**/test-results.xml" - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" agents: queue: "libcxx-builders" - os: "macos" - arch: "arm64" + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost limit: 2 timeout_in_minutes: 120 - - label: "Apple back-deployment with assertions enabled" - command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-assertions-11.0" + - group: "Parts disabled" + steps: + - label: "No threads" + command: "libcxx/utils/ci/run-buildbot generic-no-threads" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "No filesystem" + command: "libcxx/utils/ci/run-buildbot generic-no-filesystem" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "No random device" + command: "libcxx/utils/ci/run-buildbot generic-no-random_device" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "No fstream" + command: "libcxx/utils/ci/run-buildbot generic-no-fstream" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "No locale" + command: "libcxx/utils/ci/run-buildbot generic-no-localization" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "No Unicode" + command: "libcxx/utils/ci/run-buildbot generic-no-unicode" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "No wide characters" + command: "libcxx/utils/ci/run-buildbot generic-no-wide-characters" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "No experimental features" + command: "libcxx/utils/ci/run-buildbot generic-no-experimental" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "No exceptions" + command: "libcxx/utils/ci/run-buildbot generic-noexceptions" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "Unstable ABI" + command: "libcxx/utils/ci/run-buildbot generic-abi-unstable" artifact_paths: - "**/test-results.xml" - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" agents: queue: "libcxx-builders" - os: "macos" + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost limit: 2 timeout_in_minutes: 120 - - group: "ARM" - steps: - - label: "AArch64" - command: "libcxx/utils/ci/run-buildbot aarch64" + # Other non-testing CI jobs + - label: "Benchmarks" + command: "libcxx/utils/ci/run-buildbot benchmarks" artifact_paths: - "**/test-results.xml" - "**/*.abilist" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" agents: - queue: "libcxx-builders-linaro-arm" - arch: "aarch64" + queue: "libcxx-builders" + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost limit: 2 timeout_in_minutes: 120 - - label: "AArch64 -fno-exceptions" - command: "libcxx/utils/ci/run-buildbot aarch64-noexceptions" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "libcxx-builders-linaro-arm" - arch: "aarch64" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 + # Tests on non-Unix platforms + - group: ":windows: Windows" + steps: + - label: "Clang-cl (DLL)" + command: "bash libcxx/utils/ci/run-buildbot clang-cl-dll" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "windows" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 - - label: "Armv8" - command: "libcxx/utils/ci/run-buildbot armv8" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "libcxx-builders-linaro-arm" - arch: "armv8l" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 + - label: "Clang-cl (Static)" + command: "bash libcxx/utils/ci/run-buildbot clang-cl-static" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "windows" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 - - label: "Armv8 -fno-exceptions" - command: "libcxx/utils/ci/run-buildbot armv8-noexceptions" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" - agents: - queue: "libcxx-builders-linaro-arm" - arch: "armv8l" - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - timeout_in_minutes: 120 + - label: "Clang-cl (no vcruntime exceptions)" + command: "bash libcxx/utils/ci/run-buildbot clang-cl-no-vcruntime" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "windows" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 - - label: "Armv7" - command: "libcxx/utils/ci/run-buildbot armv7" - artifact_paths: - - "**/test-results.xml" - - "**/*.abilist" + - label: "MinGW (DLL, x86_64)" + command: "bash libcxx/utils/ci/run-buildbot mingw-dll" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "windows" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "MinGW (Static, x86_64)" + command: "bash libcxx/utils/ci/run-buildbot mingw-static" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "windows" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "MinGW (DLL, i686)" + command: "bash libcxx/utils/ci/run-buildbot mingw-dll-i686" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "windows" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - group: ":apple: Apple" + steps: + - label: "MacOS x86_64" + command: "libcxx/utils/ci/run-buildbot apple-cxx20" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "libcxx-builders" + os: "macos" + arch: "x86_64" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "MacOS arm64" + command: "libcxx/utils/ci/run-buildbot apple-cxx20" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "libcxx-builders" + os: "macos" + arch: "arm64" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + # Build with the configuration we use to generate libc++.dylib on Apple platforms + - label: "Apple system" + command: "libcxx/utils/ci/run-buildbot apple-system" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "libcxx-builders" + os: "macos" + arch: "arm64" # This can technically run on any architecture, but we have more resources on arm64 so we pin this job to arm64 + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + # Test back-deployment to older Apple platforms + - label: "Apple back-deployment macosx10.9" + command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.9" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "libcxx-builders" + os: "macos" + arch: "x86_64" # We need to use x86_64 for back-deployment CI on this target since macOS didn't support arm64 back then. + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "Apple back-deployment macosx10.15" + command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.15" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "libcxx-builders" + os: "macos" + arch: "x86_64" # We need to use x86_64 for back-deployment CI on this target since macOS didn't support arm64 back then. + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "Apple back-deployment macosx11.0 arm64" + command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-11.0" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "libcxx-builders" + os: "macos" + arch: "arm64" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "Apple back-deployment with assertions enabled" + command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-assertions-11.0" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "libcxx-builders" + os: "macos" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - group: "ARM" + steps: + - label: "AArch64" + command: "libcxx/utils/ci/run-buildbot aarch64" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "libcxx-builders-linaro-arm" + arch: "aarch64" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "AArch64 -fno-exceptions" + command: "libcxx/utils/ci/run-buildbot aarch64-noexceptions" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "libcxx-builders-linaro-arm" + arch: "aarch64" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "Armv8" + command: "libcxx/utils/ci/run-buildbot armv8" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "libcxx-builders-linaro-arm" + arch: "armv8l" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "Armv8 -fno-exceptions" + command: "libcxx/utils/ci/run-buildbot armv8-noexceptions" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "libcxx-builders-linaro-arm" + arch: "armv8l" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "Armv7" + command: "libcxx/utils/ci/run-buildbot armv7" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "libcxx-builders-linaro-arm" + arch: "armv8l" # Compiling for v7, running on v8 hardware + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "Armv7 -fno-exceptions" + command: "libcxx/utils/ci/run-buildbot armv7-noexceptions" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + agents: + queue: "libcxx-builders-linaro-arm" + arch: "armv8l" # Compiling for v7, running on v8 hardware + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - group: "AIX" + steps: + - label: "AIX (32-bit)" + command: "libcxx/utils/ci/run-buildbot aix" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang" + CXX: "clang++" + OBJECT_MODE: "32" + agents: + queue: libcxx-builders + os: aix + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + + - label: "AIX (64-bit)" + command: "libcxx/utils/ci/run-buildbot aix" + artifact_paths: + - "**/test-results.xml" + - "**/*.abilist" + env: + CC: "clang" + CXX: "clang++" + OBJECT_MODE: "64" + agents: + queue: libcxx-builders + os: aix + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + +# +# This group describes the various pre-commit CI bots used to test Clang against +# libc++ under various configurations. Unlike the usual libc++ CI pipeline, +# which aims to test libc++ itself, this pipeline aims to test Clang by +# compiling libc++ and running its test suite against the just-built Clang, +# in various configurations. +# +- group: "Testing libc++ against just-built Clang" + if: "build.env('RUN_CLANG_PRECOMMIT') != null" + steps: + - label: "Building clang" + commands: + - "mkdir install" + - "cmake -S llvm -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=install -DLLVM_ENABLE_PROJECTS=\"clang;compiler-rt\"" + - "ninja -C build install-clang install-clang-resource-headers" + - "buildkite-agent artifact upload 'install/**/*'" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" agents: - queue: "libcxx-builders-linaro-arm" - arch: "armv8l" # Compiling for v7, running on v8 hardware + queue: "libcxx-builders" + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost limit: 2 timeout_in_minutes: 120 - - label: "Armv7 -fno-exceptions" - command: "libcxx/utils/ci/run-buildbot armv7-noexceptions" + - wait + + - label: "C++03" + commands: + - "buildkite-agent artifact download 'install/**' ." + - "export CC=$(pwd)/install/bin/clang" + - "export CXX=$(pwd)/install/bin/clang++" + - "chmod +x install/bin/clang install/bin/clang++" + - "libcxx/utils/ci/run-buildbot generic-cxx03" artifact_paths: - "**/test-results.xml" - - "**/*.abilist" + - "**/crash_diagnostics/*" + env: + LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}" # TODO: Should we build that from scratch? + CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics" agents: - queue: "libcxx-builders-linaro-arm" - arch: "armv8l" # Compiling for v7, running on v8 hardware + queue: "libcxx-builders" + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost limit: 2 timeout_in_minutes: 120 - - group: "AIX" - steps: - - label: "AIX (32-bit)" - command: "libcxx/utils/ci/run-buildbot aix" + - label: "C++2b" + commands: + - "buildkite-agent artifact download 'install/**' ." + - "export CC=$(pwd)/install/bin/clang" + - "export CXX=$(pwd)/install/bin/clang++" + - "chmod +x install/bin/clang install/bin/clang++" + - "libcxx/utils/ci/run-buildbot generic-cxx2b" artifact_paths: - "**/test-results.xml" - - "**/*.abilist" + - "**/crash_diagnostics/*" env: - CC: "clang" - CXX: "clang++" - OBJECT_MODE: "32" + LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}" # TODO: Should we build that from scratch? + CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics" agents: - queue: libcxx-builders - os: aix + queue: "libcxx-builders" + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost limit: 2 timeout_in_minutes: 120 - - label: "AIX (64-bit)" - command: "libcxx/utils/ci/run-buildbot aix" + - label: "Modules" + commands: + - "buildkite-agent artifact download 'install/**' ." + - "export CC=$(pwd)/install/bin/clang" + - "export CXX=$(pwd)/install/bin/clang++" + - "chmod +x install/bin/clang install/bin/clang++" + - "libcxx/utils/ci/run-buildbot generic-modules" artifact_paths: - "**/test-results.xml" - - "**/*.abilist" + - "**/crash_diagnostics/*" env: - CC: "clang" - CXX: "clang++" - OBJECT_MODE: "64" + LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}" # TODO: Should we build that from scratch? + CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics" agents: - queue: libcxx-builders - os: aix + queue: "libcxx-builders" + os: "linux" retry: automatic: - exit_status: -1 # Agent was lost diff --git a/libcxx/utils/ci/generate-buildkite-pipeline b/libcxx/utils/ci/generate-buildkite-pipeline --- a/libcxx/utils/ci/generate-buildkite-pipeline +++ b/libcxx/utils/ci/generate-buildkite-pipeline @@ -12,15 +12,17 @@ # if git diff --name-only HEAD~1 | grep -q -E "^libcxx/|^libcxxabi/|^libunwind/|^runtimes/|^cmake/"; then - LIBCXX_CHANGED=true + cat <