1#===----------------------------------------------------------------------===## 2# 3# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4# See https://llvm.org/LICENSE.txt for license information. 5# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6# 7#===----------------------------------------------------------------------===## 8 9# 10# This file describes the various pre-commit CI bots used to test Clang against 11# libc++ under various configurations. Unlike the usual libc++ CI pipeline, 12# which aims to test libc++ itself, this pipeline aims to test Clang by 13# compiling libc++ and running its test suite against the just-built Clang, 14# in various configurations. 15# 16env: 17 LLVM_HEAD_VERSION: "16" 18steps: 19 - label: "Building clang" 20 commands: 21 - "mkdir install" 22 - "cmake -S llvm -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=install -DLLVM_ENABLE_PROJECTS=\"clang;compiler-rt\"" 23 - "ninja -C build install-clang install-clang-resource-headers" 24 - "buildkite-agent artifact upload 'install/**/*'" 25 env: 26 CC: "clang-${LLVM_HEAD_VERSION}" 27 CXX: "clang++-${LLVM_HEAD_VERSION}" 28 agents: 29 queue: "libcxx-builders" 30 os: "linux" 31 retry: 32 automatic: 33 - exit_status: -1 # Agent was lost 34 limit: 2 35 timeout_in_minutes: 120 36 37 - wait 38 39 - label: "C++03" 40 commands: 41 - "buildkite-agent artifact download 'install/**' ." 42 - "export CC=$(pwd)/install/bin/clang" 43 - "export CXX=$(pwd)/install/bin/clang++" 44 - "chmod +x install/bin/clang install/bin/clang++" 45 - "libcxx/utils/ci/run-buildbot generic-cxx03" 46 artifact_paths: 47 - "**/test-results.xml" 48 - "**/crash_diagnostics/*" 49 env: 50 LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}" # TODO: Should we build that from scratch? 51 CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics" 52 agents: 53 queue: "libcxx-builders" 54 os: "linux" 55 retry: 56 automatic: 57 - exit_status: -1 # Agent was lost 58 limit: 2 59 timeout_in_minutes: 120 60 61 - label: "C++2b" 62 commands: 63 - "buildkite-agent artifact download 'install/**' ." 64 - "export CC=$(pwd)/install/bin/clang" 65 - "export CXX=$(pwd)/install/bin/clang++" 66 - "chmod +x install/bin/clang install/bin/clang++" 67 - "libcxx/utils/ci/run-buildbot generic-cxx2b" 68 artifact_paths: 69 - "**/test-results.xml" 70 - "**/crash_diagnostics/*" 71 env: 72 LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}" # TODO: Should we build that from scratch? 73 CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics" 74 agents: 75 queue: "libcxx-builders" 76 os: "linux" 77 retry: 78 automatic: 79 - exit_status: -1 # Agent was lost 80 limit: 2 81 timeout_in_minutes: 120 82 83 - label: "Modules" 84 commands: 85 - "buildkite-agent artifact download 'install/**' ." 86 - "export CC=$(pwd)/install/bin/clang" 87 - "export CXX=$(pwd)/install/bin/clang++" 88 - "chmod +x install/bin/clang install/bin/clang++" 89 - "libcxx/utils/ci/run-buildbot generic-modules" 90 artifact_paths: 91 - "**/test-results.xml" 92 - "**/crash_diagnostics/*" 93 env: 94 LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}" # TODO: Should we build that from scratch? 95 CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics" 96 agents: 97 queue: "libcxx-builders" 98 os: "linux" 99 retry: 100 automatic: 101 - exit_status: -1 # Agent was lost 102 limit: 2 103 timeout_in_minutes: 120 104