xref: /openbsd-src/gnu/llvm/libcxx/utils/ci/buildkite-pipeline-clang.yml (revision 4bdff4bed0e3d54e55670334c7d0077db4170f86)
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