Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[libc++] Add a libc++ CI pipeline specific to Clang changes
This will ensure that Clang changes get tested against libc++. Differential Revision: https://reviews.llvm.org/D137759
- Loading branch information
Showing
3 changed files
with
114 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
#===----------------------------------------------------------------------===## | ||
# | ||
# 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters