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