Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / libcxx / utils / ci / buildkite-pipeline.yml
blob5a5bc39c5797bdd9b75199abc2ae428c70322b2b
1 #===----------------------------------------------------------------------===##
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
7 #===----------------------------------------------------------------------===##
10 # This file describes the various pre-commit CI bots used to test libc++.
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.
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.
20 # The Linux CI runners use the nightly ToT build provided by the Docker image.
21 # (Note the image isn't updated daily.) The LLVM_HEAD_VERSION contains that
22 # version number. The Linux CI runners for GCC use the latest stable version.
23 # Theses numbers are available in all runners, making it easier to update the
24 # version number.
25 env:
26     # LLVM POST-BRANCH bump version
27     # LLVM POST-BRANCH add compiler test for ToT - 1, e.g. "Clang 17"
28     # LLVM RELEASE bump remove compiler ToT - 3, e.g. "Clang 15"
29     LLVM_HEAD_VERSION: "18"   # Used compiler, update POST-BRANCH.
30     GCC_STABLE_VERSION: "13"
31 steps:
32   #
33   # General testing with the default configuration, under all the supported
34   # Standard modes, with Clang and GCC. This catches most issues upfront.
35   # The goal of this step is to catch most issues while being very fast.
36   #
37   - label: "GCC ${GCC_STABLE_VERSION} / C++latest"
38     command: "libcxx/utils/ci/run-buildbot generic-gcc"
39     artifact_paths:
40       - "**/test-results.xml"
41       - "**/*.abilist"
42     env:
43         CC: "gcc-${GCC_STABLE_VERSION}"
44         CXX: "g++-${GCC_STABLE_VERSION}"
45         ENABLE_CLANG_TIDY: "On"
46     agents:
47       queue: "libcxx-builders"
48       os: "linux"
49     retry:
50       automatic:
51         - exit_status: -1  # Agent was lost
52           limit: 2
53     timeout_in_minutes: 120
55   - label: "C++26"
56     command: "libcxx/utils/ci/run-buildbot generic-cxx26"
57     artifact_paths:
58       - "**/test-results.xml"
59       - "**/*.abilist"
60     env:
61         # Note modules require and absolute path for clang-scan-deps
62         # https://github.com/llvm/llvm-project/issues/61006
63         CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
64         CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
65         CMAKE: "/opt/bin/cmake"
66         ENABLE_CLANG_TIDY: "On"
67     agents:
68       queue: "libcxx-builders"
69       os: "linux"
70     retry:
71       automatic:
72         - exit_status: -1  # Agent was lost
73           limit: 2
74     timeout_in_minutes: 120
76   - label: "Modular build"
77     command: "libcxx/utils/ci/run-buildbot generic-modules"
78     artifact_paths:
79       - "**/test-results.xml"
80       - "**/*.abilist"
81     env:
82         CC: "clang-${LLVM_HEAD_VERSION}"
83         CXX: "clang++-${LLVM_HEAD_VERSION}"
84         ENABLE_CLANG_TIDY: "On"
85     agents:
86       queue: "libcxx-builders"
87       os: "linux"
88     retry:
89       automatic:
90         - exit_status: -1  # Agent was lost
91           limit: 2
92     timeout_in_minutes: 120
94   - label: "C++11"
95     command: "libcxx/utils/ci/run-buildbot generic-cxx11"
96     artifact_paths:
97       - "**/test-results.xml"
98       - "**/*.abilist"
99     env:
100         CC: "clang-${LLVM_HEAD_VERSION}"
101         CXX: "clang++-${LLVM_HEAD_VERSION}"
102         ENABLE_CLANG_TIDY: "On"
103     agents:
104       queue: "libcxx-builders"
105       os: "linux"
106     retry:
107       automatic:
108         - exit_status: -1  # Agent was lost
109           limit: 2
110     timeout_in_minutes: 120
112   - label: "C++03"
113     command: "libcxx/utils/ci/run-buildbot generic-cxx03"
114     artifact_paths:
115       - "**/test-results.xml"
116       - "**/*.abilist"
117     env:
118         CC: "clang-${LLVM_HEAD_VERSION}"
119         CXX: "clang++-${LLVM_HEAD_VERSION}"
120         ENABLE_CLANG_TIDY: "On"
121     agents:
122       queue: "libcxx-builders"
123       os: "linux"
124     retry:
125       automatic:
126         - exit_status: -1  # Agent was lost
127           limit: 2
128     timeout_in_minutes: 120
130   #
131   # All other supported configurations of libc++.
132   #
133   - wait
135   - label: "C++23"
136     command: "libcxx/utils/ci/run-buildbot generic-cxx23"
137     artifact_paths:
138       - "**/test-results.xml"
139       - "**/*.abilist"
140     env:
141         # Note: Modules require and absolute path for clang-scan-deps
142         # https://github.com/llvm/llvm-project/issues/61006
143         CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
144         CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
145         CMAKE: "/opt/bin/cmake"
146         ENABLE_CLANG_TIDY: "On"
147         ENABLE_STD_MODULES: "On"
148     agents:
149       queue: "libcxx-builders"
150       os: "linux"
151     retry:
152       automatic:
153         - exit_status: -1  # Agent was lost
154           limit: 2
155     timeout_in_minutes: 120
157   - label: "C++20"
158     command: "libcxx/utils/ci/run-buildbot generic-cxx20"
159     artifact_paths:
160       - "**/test-results.xml"
161       - "**/*.abilist"
162     env:
163         # Note: Modules require and absolute path for clang-scan-deps
164         # https://github.com/llvm/llvm-project/issues/61006
165         CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
166         CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
167         CMAKE: "/opt/bin/cmake"
168         ENABLE_CLANG_TIDY: "On"
169         ENABLE_STD_MODULES: "On"
170     agents:
171       queue: "libcxx-builders"
172       os: "linux"
173     retry:
174       automatic:
175         - exit_status: -1  # Agent was lost
176           limit: 2
177     timeout_in_minutes: 120
179   - label: "C++17"
180     command: "libcxx/utils/ci/run-buildbot generic-cxx17"
181     artifact_paths:
182       - "**/test-results.xml"
183       - "**/*.abilist"
184     env:
185         CC: "clang-${LLVM_HEAD_VERSION}"
186         CXX: "clang++-${LLVM_HEAD_VERSION}"
187         ENABLE_CLANG_TIDY: "On"
188     agents:
189       queue: "libcxx-builders"
190       os: "linux"
191     retry:
192       automatic:
193         - exit_status: -1  # Agent was lost
194           limit: 2
195     timeout_in_minutes: 120
197   - label: "C++14"
198     command: "libcxx/utils/ci/run-buildbot generic-cxx14"
199     artifact_paths:
200       - "**/test-results.xml"
201       - "**/*.abilist"
202     env:
203         CC: "clang-${LLVM_HEAD_VERSION}"
204         CXX: "clang++-${LLVM_HEAD_VERSION}"
205         ENABLE_CLANG_TIDY: "On"
206     agents:
207       queue: "libcxx-builders"
208       os: "linux"
209     retry:
210       automatic:
211         - exit_status: -1  # Agent was lost
212           limit: 2
213     timeout_in_minutes: 120
215   # Tests with the supported compilers.
216   - label: "GCC ${GCC_STABLE_VERSION} / C++11"
217     command: "libcxx/utils/ci/run-buildbot generic-gcc-cxx11"
218     artifact_paths:
219       - "**/test-results.xml"
220       - "**/*.abilist"
221     env:
222         CC: "gcc-${GCC_STABLE_VERSION}"
223         CXX: "g++-${GCC_STABLE_VERSION}"
224         ENABLE_CLANG_TIDY: "On"
225     agents:
226       queue: "libcxx-builders"
227       os: "linux"
228     retry:
229       automatic:
230         - exit_status: -1  # Agent was lost
231           limit: 2
232     timeout_in_minutes: 120
234   - label: "Clang 16"
235     command: "libcxx/utils/ci/run-buildbot generic-cxx23"
236     artifact_paths:
237       - "**/test-results.xml"
238       - "**/*.abilist"
239     env:
240         CC: "clang-16"
241         CXX: "clang++-16"
242         ENABLE_CLANG_TIDY: "On"
243         ENABLE_STD_MODULES: "Off"
244     agents:
245       queue: "libcxx-builders"
246       os: "linux"
247     retry:
248       automatic:
249         - exit_status: -1  # Agent was lost
250           limit: 2
251     timeout_in_minutes: 120
253   - label: "Clang 17"
254     command: "libcxx/utils/ci/run-buildbot generic-cxx23"
255     artifact_paths:
256       - "**/test-results.xml"
257       - "**/*.abilist"
258     env:
259         # Note: Modules require and absolute path for clang-scan-deps
260         # https://github.com/llvm/llvm-project/issues/61006
261         CC: "/usr/lib/llvm-17/bin/clang"
262         CXX: "/usr/lib/llvm-17/bin/clang++"
263         CMAKE: "/opt/bin/cmake"
264         ENABLE_CLANG_TIDY: "On"
265     agents:
266       queue: "libcxx-builders"
267       os: "linux"
268     retry:
269       automatic:
270         - exit_status: -1  # Agent was lost
271           limit: 2
272     timeout_in_minutes: 120
274   # Tests with the sanitizers.
275   - group: "Sanitizers"
276     steps:
277     - label: "ASAN"
278       command: "libcxx/utils/ci/run-buildbot generic-asan"
279       artifact_paths:
280         - "**/test-results.xml"
281         - "**/*.abilist"
282       env:
283           CC: "clang-${LLVM_HEAD_VERSION}"
284           CXX: "clang++-${LLVM_HEAD_VERSION}"
285           ENABLE_CLANG_TIDY: "On"
286       agents:
287         queue: "libcxx-builders"
288         os: "linux"
289       retry:
290         automatic:
291           - exit_status: -1  # Agent was lost
292             limit: 2
293       timeout_in_minutes: 120
295     - label: "TSAN"
296       command: "libcxx/utils/ci/run-buildbot generic-tsan"
297       artifact_paths:
298         - "**/test-results.xml"
299         - "**/*.abilist"
300       env:
301           CC: "clang-${LLVM_HEAD_VERSION}"
302           CXX: "clang++-${LLVM_HEAD_VERSION}"
303           ENABLE_CLANG_TIDY: "On"
304       agents:
305         queue: "libcxx-builders"
306         os: "linux"
307       retry:
308         automatic:
309           - exit_status: -1  # Agent was lost
310             limit: 2
311       timeout_in_minutes: 120
313     - label: "UBSAN"
314       command: "libcxx/utils/ci/run-buildbot generic-ubsan"
315       artifact_paths:
316         - "**/test-results.xml"
317         - "**/*.abilist"
318       env:
319           CC: "clang-${LLVM_HEAD_VERSION}"
320           CXX: "clang++-${LLVM_HEAD_VERSION}"
321           ENABLE_CLANG_TIDY: "On"
322       agents:
323         queue: "libcxx-builders"
324         os: "linux"
325       retry:
326         automatic:
327           - exit_status: -1  # Agent was lost
328             limit: 2
329       timeout_in_minutes: 120
331     - label: "MSAN"
332       command: "libcxx/utils/ci/run-buildbot generic-msan"
333       artifact_paths:
334         - "**/test-results.xml"
335         - "**/*.abilist"
336       env:
337           CC: "clang-${LLVM_HEAD_VERSION}"
338           CXX: "clang++-${LLVM_HEAD_VERSION}"
339           ENABLE_CLANG_TIDY: "On"
340       agents:
341         queue: "libcxx-builders"
342         os: "linux"
343       retry:
344         automatic:
345           - exit_status: -1  # Agent was lost
346             limit: 2
347       timeout_in_minutes: 120
349   # Tests with the various supported ways to build libc++.
350   - label: "Bootstrapping build"
351     command: "libcxx/utils/ci/run-buildbot bootstrapping-build"
352     artifact_paths:
353       - "**/test-results.xml"
354       - "**/*.abilist"
355       - "**/crash_diagnostics/*"
356     env:
357         CC: "clang-${LLVM_HEAD_VERSION}"
358         CXX: "clang++-${LLVM_HEAD_VERSION}"
359         LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}"
360         CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics"
361     agents:
362       queue: "libcxx-builders"
363       os: "linux"
364     retry:
365       automatic:
366         - exit_status: -1  # Agent was lost
367           limit: 2
368     timeout_in_minutes: 120
370   # Tests with various build configurations.
371   - label: "Static libraries"
372     command: "libcxx/utils/ci/run-buildbot generic-static"
373     artifact_paths:
374       - "**/test-results.xml"
375       - "**/*.abilist"
376     env:
377         CC: "clang-${LLVM_HEAD_VERSION}"
378         CXX: "clang++-${LLVM_HEAD_VERSION}"
379         ENABLE_CLANG_TIDY: "On"
380     agents:
381       queue: "libcxx-builders"
382       os: "linux"
383     retry:
384       automatic:
385         - exit_status: -1  # Agent was lost
386           limit: 2
387     timeout_in_minutes: 120
389   - label: "Shared library with merged ABI and unwinder libraries"
390     command: "libcxx/utils/ci/run-buildbot generic-merged"
391     artifact_paths:
392       - "**/test-results.xml"
393       - "**/*.abilist"
394     env:
395         CC: "clang-${LLVM_HEAD_VERSION}"
396         CXX: "clang++-${LLVM_HEAD_VERSION}"
397         ENABLE_CLANG_TIDY: "On"
398     agents:
399       queue: "libcxx-builders"
400       os: "linux"
401     retry:
402       automatic:
403         - exit_status: -1  # Agent was lost
404           limit: 2
405     timeout_in_minutes: 120
407   - label: "Hardened mode"
408     command: "libcxx/utils/ci/run-buildbot generic-hardened-mode"
409     artifact_paths:
410       - "**/test-results.xml"
411       - "**/*.abilist"
412     env:
413         CC: "clang-${LLVM_HEAD_VERSION}"
414         CXX: "clang++-${LLVM_HEAD_VERSION}"
415         ENABLE_CLANG_TIDY: "On"
416     agents:
417       queue: "libcxx-builders"
418       os: "linux"
419     retry:
420       automatic:
421         - exit_status: -1  # Agent was lost
422           limit: 2
423     timeout_in_minutes: 120
425   - label: "Safe mode"
426     command: "libcxx/utils/ci/run-buildbot generic-safe-mode"
427     artifact_paths:
428       - "**/test-results.xml"
429       - "**/*.abilist"
430     env:
431         # Note: Modules require an absolute path for `clang-scan-deps` (see
432         # https://github.com/llvm/llvm-project/issues/61006).
433         CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
434         CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
435         CMAKE: "/opt/bin/cmake"
436         ENABLE_CLANG_TIDY: "On"
437     agents:
438       queue: "libcxx-builders"
439       os: "linux"
440     retry:
441       automatic:
442         - exit_status: -1  # Agent was lost
443           limit: 2
444     timeout_in_minutes: 120
446   - label: "Debug mode"
447     command: "libcxx/utils/ci/run-buildbot generic-debug-mode"
448     artifact_paths:
449       - "**/test-results.xml"
450       - "**/*.abilist"
451     env:
452         CC: "clang-${LLVM_HEAD_VERSION}"
453         CXX: "clang++-${LLVM_HEAD_VERSION}"
454         ENABLE_CLANG_TIDY: "On"
455     agents:
456       queue: "libcxx-builders"
457       os: "linux"
458     retry:
459       automatic:
460         - exit_status: -1  # Agent was lost
461           limit: 2
462     timeout_in_minutes: 120
464   - label: "With LLVM's libunwind"
465     command: "libcxx/utils/ci/run-buildbot generic-with_llvm_unwinder"
466     artifact_paths:
467       - "**/test-results.xml"
468       - "**/*.abilist"
469     env:
470         CC: "clang-${LLVM_HEAD_VERSION}"
471         CXX: "clang++-${LLVM_HEAD_VERSION}"
472         ENABLE_CLANG_TIDY: "On"
473     agents:
474       queue: "libcxx-builders"
475       os: "linux"
476     retry:
477       automatic:
478         - exit_status: -1  # Agent was lost
479           limit: 2
480     timeout_in_minutes: 120
482   - label: "Modular build with Local Submodule Visibility"
483     command: "libcxx/utils/ci/run-buildbot generic-modules-lsv"
484     artifact_paths:
485       - "**/test-results.xml"
486       - "**/*.abilist"
487     env:
488         CC: "clang-${LLVM_HEAD_VERSION}"
489         CXX: "clang++-${LLVM_HEAD_VERSION}"
490         ENABLE_CLANG_TIDY: "On"
491     agents:
492       queue: "libcxx-builders"
493       os: "linux"
494     retry:
495       automatic:
496         - exit_status: -1  # Agent was lost
497           limit: 2
498     timeout_in_minutes: 120
500   - group: "Parts disabled"
501     steps:
502     - label: "No threads"
503       command: "libcxx/utils/ci/run-buildbot generic-no-threads"
504       artifact_paths:
505         - "**/test-results.xml"
506         - "**/*.abilist"
507       env:
508           # Note: Modules require and absolute path for clang-scan-deps
509           # https://github.com/llvm/llvm-project/issues/61006
510           CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
511           CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
512           CMAKE: "/opt/bin/cmake"
513           ENABLE_CLANG_TIDY: "On"
514       agents:
515         queue: "libcxx-builders"
516         os: "linux"
517       retry:
518         automatic:
519           - exit_status: -1  # Agent was lost
520             limit: 2
521       timeout_in_minutes: 120
523     - label: "No filesystem"
524       command: "libcxx/utils/ci/run-buildbot generic-no-filesystem"
525       artifact_paths:
526         - "**/test-results.xml"
527         - "**/*.abilist"
528       env:
529           # Note: Modules require and absolute path for clang-scan-deps
530           # https://github.com/llvm/llvm-project/issues/61006
531           CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
532           CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
533           CMAKE: "/opt/bin/cmake"
534           ENABLE_CLANG_TIDY: "On"
535       agents:
536         queue: "libcxx-builders"
537         os: "linux"
538       retry:
539         automatic:
540           - exit_status: -1  # Agent was lost
541             limit: 2
542       timeout_in_minutes: 120
544     - label: "No random device"
545       command: "libcxx/utils/ci/run-buildbot generic-no-random_device"
546       artifact_paths:
547         - "**/test-results.xml"
548         - "**/*.abilist"
549       env:
550           # Note: Modules require and absolute path for clang-scan-deps
551           # https://github.com/llvm/llvm-project/issues/61006
552           CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
553           CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
554           CMAKE: "/opt/bin/cmake"
555           ENABLE_CLANG_TIDY: "On"
556       agents:
557         queue: "libcxx-builders"
558         os: "linux"
559       retry:
560         automatic:
561           - exit_status: -1  # Agent was lost
562             limit: 2
563       timeout_in_minutes: 120
565     - label: "No locale"
566       command: "libcxx/utils/ci/run-buildbot generic-no-localization"
567       artifact_paths:
568         - "**/test-results.xml"
569         - "**/*.abilist"
570       env:
571           # Note: Modules require and absolute path for clang-scan-deps
572           # https://github.com/llvm/llvm-project/issues/61006
573           CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
574           CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
575           CMAKE: "/opt/bin/cmake"
576           ENABLE_CLANG_TIDY: "On"
577       agents:
578         queue: "libcxx-builders"
579         os: "linux"
580       retry:
581         automatic:
582           - exit_status: -1  # Agent was lost
583             limit: 2
584       timeout_in_minutes: 120
586     - label: "No Unicode"
587       command: "libcxx/utils/ci/run-buildbot generic-no-unicode"
588       artifact_paths:
589         - "**/test-results.xml"
590         - "**/*.abilist"
591       env:
592           # Note: Modules require and absolute path for clang-scan-deps
593           # https://github.com/llvm/llvm-project/issues/61006
594           CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
595           CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
596           CMAKE: "/opt/bin/cmake"
597           ENABLE_CLANG_TIDY: "On"
598       agents:
599         queue: "libcxx-builders"
600         os: "linux"
601       retry:
602         automatic:
603           - exit_status: -1  # Agent was lost
604             limit: 2
605       timeout_in_minutes: 120
607     - label: "No wide characters"
608       command: "libcxx/utils/ci/run-buildbot generic-no-wide-characters"
609       artifact_paths:
610         - "**/test-results.xml"
611         - "**/*.abilist"
612       env:
613           # Note: Modules require and absolute path for clang-scan-deps
614           # https://github.com/llvm/llvm-project/issues/61006
615           CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
616           CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
617           CMAKE: "/opt/bin/cmake"
618           ENABLE_CLANG_TIDY: "On"
619       agents:
620         queue: "libcxx-builders"
621         os: "linux"
622       retry:
623         automatic:
624           - exit_status: -1  # Agent was lost
625             limit: 2
626       timeout_in_minutes: 120
628     - label: "No time zone database"
629       command: "libcxx/utils/ci/run-buildbot generic-no-tzdb"
630       artifact_paths:
631         - "**/test-results.xml"
632         - "**/*.abilist"
633       env:
634           CC: "clang-${LLVM_HEAD_VERSION}"
635           CXX: "clang++-${LLVM_HEAD_VERSION}"
636           ENABLE_CLANG_TIDY: "On"
637       agents:
638         queue: "libcxx-builders"
639         os: "linux"
640       retry:
641         automatic:
642           - exit_status: -1  # Agent was lost
643             limit: 2
644       timeout_in_minutes: 120
646     - label: "No experimental features"
647       command: "libcxx/utils/ci/run-buildbot generic-no-experimental"
648       artifact_paths:
649         - "**/test-results.xml"
650         - "**/*.abilist"
651       env:
652           # Note: Modules require and absolute path for clang-scan-deps
653           # https://github.com/llvm/llvm-project/issues/61006
654           CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
655           CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
656           CMAKE: "/opt/bin/cmake"
657           ENABLE_CLANG_TIDY: "On"
658       agents:
659         queue: "libcxx-builders"
660         os: "linux"
661       retry:
662         automatic:
663           - exit_status: -1  # Agent was lost
664             limit: 2
665       timeout_in_minutes: 120
667     - label: "No exceptions"
668       command: "libcxx/utils/ci/run-buildbot generic-no-exceptions"
669       artifact_paths:
670         - "**/test-results.xml"
671         - "**/*.abilist"
672       env:
673           # Note: Modules require and absolute path for clang-scan-deps
674           # https://github.com/llvm/llvm-project/issues/61006
675           CC: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang"
676           CXX: "/usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++"
677           CMAKE: "/opt/bin/cmake"
678           ENABLE_CLANG_TIDY: "On"
679       agents:
680         queue: "libcxx-builders"
681         os: "linux"
682       retry:
683         automatic:
684           - exit_status: -1  # Agent was lost
685             limit: 2
686       timeout_in_minutes: 120
688   - label: "Unstable ABI"
689     command: "libcxx/utils/ci/run-buildbot generic-abi-unstable"
690     artifact_paths:
691       - "**/test-results.xml"
692       - "**/*.abilist"
693     env:
694         CC: "clang-${LLVM_HEAD_VERSION}"
695         CXX: "clang++-${LLVM_HEAD_VERSION}"
696         ENABLE_CLANG_TIDY: "On"
697     agents:
698       queue: "libcxx-builders"
699       os: "linux"
700     retry:
701       automatic:
702         - exit_status: -1  # Agent was lost
703           limit: 2
704     timeout_in_minutes: 120
706   # Other non-testing CI jobs
707   - label: "Benchmarks"
708     command: "libcxx/utils/ci/run-buildbot benchmarks"
709     artifact_paths:
710       - "**/test-results.xml"
711       - "**/*.abilist"
712     env:
713         CC: "clang-${LLVM_HEAD_VERSION}"
714         CXX: "clang++-${LLVM_HEAD_VERSION}"
715         ENABLE_CLANG_TIDY: "On"
716     agents:
717       queue: "libcxx-builders"
718       os: "linux"
719     retry:
720       automatic:
721         - exit_status: -1  # Agent was lost
722           limit: 2
723     timeout_in_minutes: 120
725   # Tests on non-Unix platforms
726   - group: ":windows: Windows"
727     steps:
728     - label: "Clang-cl (DLL)"
729       command: "bash libcxx/utils/ci/run-buildbot clang-cl-dll"
730       artifact_paths:
731         - "**/test-results.xml"
732         - "**/*.abilist"
733       agents:
734         queue: "windows"
735       retry:
736         automatic:
737           - exit_status: -1  # Agent was lost
738             limit: 2
739       timeout_in_minutes: 120
741     - label: "Clang-cl (Static)"
742       command: "bash libcxx/utils/ci/run-buildbot clang-cl-static"
743       artifact_paths:
744         - "**/test-results.xml"
745         - "**/*.abilist"
746       agents:
747         queue: "windows"
748       retry:
749         automatic:
750           - exit_status: -1  # Agent was lost
751             limit: 2
752       timeout_in_minutes: 120
754     - label: "Clang-cl (no vcruntime exceptions)"
755       command: "bash libcxx/utils/ci/run-buildbot clang-cl-no-vcruntime"
756       artifact_paths:
757         - "**/test-results.xml"
758         - "**/*.abilist"
759       agents:
760         queue: "windows"
761       retry:
762         automatic:
763           - exit_status: -1  # Agent was lost
764             limit: 2
766     - label: "Clang-cl (Debug mode)"
767       command: "bash libcxx/utils/ci/run-buildbot clang-cl-debug"
768       artifact_paths:
769         - "**/test-results.xml"
770         - "**/*.abilist"
771       agents:
772         queue: "windows"
773       retry:
774         automatic:
775           - exit_status: -1  # Agent was lost
776             limit: 2
777       timeout_in_minutes: 120
779     - label: "Clang-cl (Static CRT)"
780       command: "bash libcxx/utils/ci/run-buildbot clang-cl-static-crt"
781       artifact_paths:
782         - "**/test-results.xml"
783         - "**/*.abilist"
784       agents:
785         queue: "windows"
786       retry:
787         automatic:
788           - exit_status: -1  # Agent was lost
789             limit: 2
790       timeout_in_minutes: 120
792     - label: "MinGW (DLL, x86_64)"
793       command: "bash libcxx/utils/ci/run-buildbot mingw-dll"
794       artifact_paths:
795         - "**/test-results.xml"
796         - "**/*.abilist"
797       agents:
798         queue: "windows"
799       retry:
800         automatic:
801           - exit_status: -1  # Agent was lost
802             limit: 2
803       timeout_in_minutes: 120
805     - label: "MinGW (Static, x86_64)"
806       command: "bash libcxx/utils/ci/run-buildbot mingw-static"
807       artifact_paths:
808         - "**/test-results.xml"
809         - "**/*.abilist"
810       agents:
811         queue: "windows"
812       retry:
813         automatic:
814           - exit_status: -1  # Agent was lost
815             limit: 2
816       timeout_in_minutes: 120
818     - label: "MinGW (DLL, i686)"
819       command: "bash libcxx/utils/ci/run-buildbot mingw-dll-i686"
820       artifact_paths:
821         - "**/test-results.xml"
822         - "**/*.abilist"
823       agents:
824         queue: "windows"
825       retry:
826         automatic:
827           - exit_status: -1  # Agent was lost
828             limit: 2
829       timeout_in_minutes: 120
831   - group: ":mac: Apple"
832     steps:
833     - label: "MacOS x86_64"
834       command: "libcxx/utils/ci/run-buildbot generic-cxx23"
835       artifact_paths:
836         - "**/test-results.xml"
837         - "**/*.abilist"
838       agents:
839         queue: "libcxx-builders"
840         os: "macos"
841         arch: "x86_64"
842       retry:
843         automatic:
844           - exit_status: -1  # Agent was lost
845             limit: 2
846       timeout_in_minutes: 120
848     - label: "MacOS arm64"
849       command: "libcxx/utils/ci/run-buildbot generic-cxx23"
850       artifact_paths:
851         - "**/test-results.xml"
852         - "**/*.abilist"
853       agents:
854         queue: "libcxx-builders"
855         os: "macos"
856         arch: "arm64"
857       retry:
858         automatic:
859           - exit_status: -1  # Agent was lost
860             limit: 2
861       timeout_in_minutes: 120
863     - label: "MacOS with Modules"
864       command: "libcxx/utils/ci/run-buildbot generic-modules"
865       artifact_paths:
866         - "**/test-results.xml"
867         - "**/*.abilist"
868       agents:
869         queue: "libcxx-builders"
870         os: "macos"
871       retry:
872         automatic:
873           - exit_status: -1  # Agent was lost
874             limit: 2
875       timeout_in_minutes: 120
877     # Build with the configuration we use to generate libc++.dylib on Apple platforms
878     - label: "Apple system"
879       command: "libcxx/utils/ci/run-buildbot apple-system"
880       artifact_paths:
881         - "**/test-results.xml"
882         - "**/*.abilist"
883       agents:
884         queue: "libcxx-builders"
885         os: "macos"
886         arch: "arm64" # This can technically run on any architecture, but we have more resources on arm64 so we pin this job to arm64
887       retry:
888         automatic:
889           - exit_status: -1  # Agent was lost
890             limit: 2
891       timeout_in_minutes: 120
893     # Test back-deployment to older Apple platforms
894     - label: "Apple back-deployment macosx10.13"
895       command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.13"
896       artifact_paths:
897         - "**/test-results.xml"
898         - "**/*.abilist"
899       agents:
900         queue: "libcxx-builders"
901         os: "macos"
902         arch: "x86_64" # We need to use x86_64 for back-deployment CI on this target since macOS didn't support arm64 back then.
903       retry:
904         automatic:
905           - exit_status: -1  # Agent was lost
906             limit: 2
907       timeout_in_minutes: 120
909     - label: "Apple back-deployment macosx10.15"
910       command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.15"
911       artifact_paths:
912         - "**/test-results.xml"
913         - "**/*.abilist"
914       agents:
915         queue: "libcxx-builders"
916         os: "macos"
917         arch: "x86_64" # We need to use x86_64 for back-deployment CI on this target since macOS didn't support arm64 back then.
918       retry:
919         automatic:
920           - exit_status: -1  # Agent was lost
921             limit: 2
922       timeout_in_minutes: 120
924     # TODO: Re-enable this once we've figured out how to run back-deployment testing on arm64 on recent OSes
925     # - label: "Apple back-deployment macosx11.0 arm64"
926     #   command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-11.0"
927     #   artifact_paths:
928     #     - "**/test-results.xml"
929     #     - "**/*.abilist"
930     #   agents:
931     #     queue: "libcxx-builders"
932     #     os: "macos"
933     #     arch: "arm64"
934     #   retry:
935     #     automatic:
936     #       - exit_status: -1  # Agent was lost
937     #         limit: 2
938     #   timeout_in_minutes: 120
940     - label: "Apple back-deployment with hardening enabled"
941       command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-hardened-11.0"
942       artifact_paths:
943         - "**/test-results.xml"
944         - "**/*.abilist"
945       agents:
946         queue: "libcxx-builders"
947         os: "macos"
948         arch: "x86_64" # TODO: Remove this once we are able to run back-deployment on arm64 again, since this isn't x86_64 specific
949       retry:
950         automatic:
951           - exit_status: -1  # Agent was lost
952             limit: 2
953       timeout_in_minutes: 120
955   - group: "ARM"
956     steps:
957     - label: "AArch64"
958       command: "libcxx/utils/ci/run-buildbot aarch64"
959       artifact_paths:
960         - "**/test-results.xml"
961         - "**/*.abilist"
962       agents:
963         queue: "libcxx-builders-linaro-arm"
964         arch: "aarch64"
965       retry:
966         automatic:
967           - exit_status: -1  # Agent was lost
968             limit: 2
969       timeout_in_minutes: 120
971     - label: "AArch64 -fno-exceptions"
972       command: "libcxx/utils/ci/run-buildbot aarch64-no-exceptions"
973       artifact_paths:
974         - "**/test-results.xml"
975         - "**/*.abilist"
976       agents:
977         queue: "libcxx-builders-linaro-arm"
978         arch: "aarch64"
979       retry:
980         automatic:
981           - exit_status: -1  # Agent was lost
982             limit: 2
983       timeout_in_minutes: 120
985     - label: "Armv8"
986       command: "libcxx/utils/ci/run-buildbot armv8"
987       artifact_paths:
988         - "**/test-results.xml"
989         - "**/*.abilist"
990       agents:
991         queue: "libcxx-builders-linaro-arm"
992         arch: "armv8l"
993       retry:
994         automatic:
995           - exit_status: -1  # Agent was lost
996             limit: 2
997       timeout_in_minutes: 120
999     - label: "Armv8 -fno-exceptions"
1000       command: "libcxx/utils/ci/run-buildbot armv8-no-exceptions"
1001       artifact_paths:
1002         - "**/test-results.xml"
1003         - "**/*.abilist"
1004       agents:
1005         queue: "libcxx-builders-linaro-arm"
1006         arch: "armv8l"
1007       retry:
1008         automatic:
1009           - exit_status: -1  # Agent was lost
1010             limit: 2
1011       timeout_in_minutes: 120
1013     - label: "Armv7"
1014       command: "libcxx/utils/ci/run-buildbot armv7"
1015       artifact_paths:
1016         - "**/test-results.xml"
1017         - "**/*.abilist"
1018       agents:
1019         queue: "libcxx-builders-linaro-arm"
1020         arch: "armv8l" # Compiling for v7, running on v8 hardware
1021       retry:
1022         automatic:
1023           - exit_status: -1  # Agent was lost
1024             limit: 2
1025       timeout_in_minutes: 120
1027     - label: "Armv7 -fno-exceptions"
1028       command: "libcxx/utils/ci/run-buildbot armv7-no-exceptions"
1029       artifact_paths:
1030         - "**/test-results.xml"
1031         - "**/*.abilist"
1032       agents:
1033         queue: "libcxx-builders-linaro-arm"
1034         arch: "armv8l" # Compiling for v7, running on v8 hardware
1035       retry:
1036         automatic:
1037           - exit_status: -1  # Agent was lost
1038             limit: 2
1039       timeout_in_minutes: 120
1041   - group: "AIX"
1042     steps:
1043     - label: "AIX (32-bit)"
1044       command: "libcxx/utils/ci/run-buildbot aix"
1045       artifact_paths:
1046         - "**/test-results.xml"
1047         - "**/*.abilist"
1048       env:
1049           CC: "clang"
1050           CXX: "clang++"
1051           OBJECT_MODE: "32"
1052       agents:
1053           queue: libcxx-builders
1054           os: aix
1055       retry:
1056         automatic:
1057           - exit_status: -1  # Agent was lost
1058             limit: 2
1059       timeout_in_minutes: 120
1061     - label: "AIX (64-bit)"
1062       command: "libcxx/utils/ci/run-buildbot aix"
1063       artifact_paths:
1064         - "**/test-results.xml"
1065         - "**/*.abilist"
1066       env:
1067           CC: "clang"
1068           CXX: "clang++"
1069           OBJECT_MODE: "64"
1070       agents:
1071           queue: libcxx-builders
1072           os: aix
1073       retry:
1074         automatic:
1075           - exit_status: -1  # Agent was lost
1076             limit: 2
1077       timeout_in_minutes: 120
1079   - group: ":freebsd: FreeBSD"
1080     steps:
1081     - label: "FreeBSD 13 amd64"
1082       command: "libcxx/utils/ci/run-buildbot generic-cxx23"
1083       artifact_paths:
1084         - "**/test-results.xml"
1085         - "**/*.abilist"
1086       env:
1087           CC: "clang16"
1088           CXX: "clang++16"
1089           ENABLE_STD_MODULES: "Off"
1090       agents:
1091         queue: "libcxx-builders"
1092         os: "freebsd"
1093       retry:
1094         automatic:
1095           - exit_status: -1  # Agent was lost
1096             limit: 2
1097       timeout_in_minutes: 120
1099   - group: ":android: Android"
1100     steps:
1101     - label: "Android 5.0, x86 NDK"
1102       command: "libcxx/utils/ci/run-buildbot android-ndk-21-def-x86"
1103       artifact_paths:
1104         - "**/test-results.xml"
1105         - "**/*.abilist"
1106       agents:
1107         queue: "libcxx-builders"
1108         os: "android"
1109       retry:
1110         automatic:
1111           - exit_status: -1  # Agent was lost
1112             limit: 2
1113       soft_fail: true
1114       timeout_in_minutes: 120
1116     - label: "Android 13, x86_64 NDK"
1117       command: "libcxx/utils/ci/run-buildbot android-ndk-33-goog-x86_64"
1118       artifact_paths:
1119         - "**/test-results.xml"
1120         - "**/*.abilist"
1121       agents:
1122         queue: "libcxx-builders"
1123         os: "android"
1124       retry:
1125         automatic:
1126           - exit_status: -1  # Agent was lost
1127             limit: 2
1128       soft_fail: true
1129       timeout_in_minutes: 120