xref: /llvm-project/libcxx/utils/ci/buildkite-pipeline.yml (revision bd8eb7894f837704ea478716bab3e01a4eb6c813)
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 libc++.
11#
12# This file should never contain logic -- all the logic must be offloaded
13# into scripts. This is critical to being able to reproduce CI issues outside
14# of the CI environment, which is important for debugging.
15#
16# It is also worth noting that this script is split into several sections, the
17# goal being to reduce the load on testers when a commit is known to fail.
18#
19
20definitions:
21  _common: &common
22    timeout_in_minutes: 120
23    retry:
24      automatic:
25        - exit_status: -1  # Agent was lost
26          limit: 2
27    artifact_paths:
28      - "**/test-results.xml"
29      - "**/*.abilist"
30      - "**/crash_diagnostics/*"
31      - "**/CMakeConfigureLog.yaml"
32      - "**/CMakeError.log"
33      - "**/CMakeOutput.log"
34
35steps:
36- group: ARM
37  steps:
38  - label: AArch64
39    command: libcxx/utils/ci/run-buildbot aarch64
40    agents:
41      queue: libcxx-builders-linaro-arm
42      arch: aarch64
43    <<: *common
44
45  - label: AArch64 -fno-exceptions
46    command: libcxx/utils/ci/run-buildbot aarch64-no-exceptions
47    agents:
48      queue: libcxx-builders-linaro-arm
49      arch: aarch64
50    <<: *common
51
52  - label: Armv8
53    command: libcxx/utils/ci/run-buildbot armv8
54    agents:
55      queue: libcxx-builders-linaro-arm
56      arch: armv8l
57    <<: *common
58
59  - label: Armv8 -fno-exceptions
60    command: libcxx/utils/ci/run-buildbot armv8-no-exceptions
61    agents:
62      queue: libcxx-builders-linaro-arm
63      arch: armv8l
64    <<: *common
65
66  - label: Armv7
67    command: libcxx/utils/ci/run-buildbot armv7
68    agents:
69      queue: libcxx-builders-linaro-arm
70      arch: armv8l
71    <<: *common
72
73  - label: Armv7 -fno-exceptions
74    command: libcxx/utils/ci/run-buildbot armv7-no-exceptions
75    agents:
76      queue: libcxx-builders-linaro-arm
77      arch: armv8l
78    <<: *common
79
80  - label: Armv7-M picolibc
81    command: libcxx/utils/ci/run-buildbot armv7m-picolibc
82    agents:
83      queue: libcxx-builders-linaro-arm
84      arch: aarch64
85    <<: *common
86
87  - label: Armv7-M picolibc -fno-exceptions
88    command: libcxx/utils/ci/run-buildbot armv7m-picolibc-no-exceptions
89    agents:
90      queue: libcxx-builders-linaro-arm
91      arch: aarch64
92    <<: *common
93
94- group: AIX
95  steps:
96  - label: AIX (32-bit)
97    command: libcxx/utils/ci/run-buildbot aix
98    env:
99      CC: clang
100      CXX: clang++
101      OBJECT_MODE: '32'
102    agents:
103      queue: libcxx-builders
104      os: aix
105    <<: *common
106
107  - label: AIX (64-bit)
108    command: libcxx/utils/ci/run-buildbot aix
109    env:
110      CC: clang
111      CXX: clang++
112      OBJECT_MODE: '64'
113    agents:
114      queue: libcxx-builders
115      os: aix
116    <<: *common
117
118# TODO: Re-enable this when the FreeBSD runners are back online
119#       https://github.com/llvm/llvm-project/issues/117780
120# - group: ':freebsd: FreeBSD'
121#   steps:
122#   - label: FreeBSD 13 amd64
123#     command: libcxx/utils/ci/run-buildbot generic-cxx26
124#     env:
125#       CC: clang17
126#       CXX: clang++17
127#     agents:
128#       queue: libcxx-builders
129#       os: freebsd
130#     <<: *common
131
132- group: ':android: Android'
133  steps:
134  - label: Android 5.0, x86 NDK
135    command: libcxx/utils/ci/run-buildbot android-ndk-21-def-x86
136    agents:
137      queue: libcxx-builders
138      os: android
139    <<: *common
140
141  - label: Android 13, x86_64 NDK
142    command: libcxx/utils/ci/run-buildbot android-ndk-33-goog-x86_64
143    agents:
144      queue: libcxx-builders
145      os: android
146    <<: *common
147