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.
22 # Light pre-commit tests for things like formatting or when people forget
23 # to update generated files.
26 command: "libcxx/utils/ci/run-buildbot check-format"
28 - "**/clang-format.patch"
30 queue: "libcxx-builders"
34 - exit_status: -1 # Agent was lost
38 timeout_in_minutes: 120
40 - label: "Generated output"
41 command: "libcxx/utils/ci/run-buildbot check-generated-output"
43 - "**/generated_output.patch"
44 - "**/generated_output.status"
46 queue: "libcxx-builders"
50 - exit_status: -1 # Agent was lost
52 timeout_in_minutes: 120
54 - label: "Documentation"
55 command: "libcxx/utils/ci/run-buildbot documentation"
57 - "**/test-results.xml"
59 queue: "libcxx-builders"
63 - exit_status: -1 # Agent was lost
65 timeout_in_minutes: 120
68 # General testing with the default configuration, under all the supported
69 # Standard modes, with Clang and GCC. This catches most issues upfront.
70 # The goal of this step is to catch most issues while being very fast.
75 command: "libcxx/utils/ci/run-buildbot generic-cxx2b"
77 - "**/test-results.xml"
80 queue: "libcxx-builders"
84 - exit_status: -1 # Agent was lost
86 timeout_in_minutes: 120
89 command: "libcxx/utils/ci/run-buildbot generic-cxx11"
91 - "**/test-results.xml"
94 queue: "libcxx-builders"
98 - exit_status: -1 # Agent was lost
100 timeout_in_minutes: 120
103 command: "libcxx/utils/ci/run-buildbot generic-cxx03"
105 - "**/test-results.xml"
108 queue: "libcxx-builders"
112 - exit_status: -1 # Agent was lost
114 timeout_in_minutes: 120
116 - label: "Modular build"
117 command: "libcxx/utils/ci/run-buildbot generic-modules"
119 - "**/test-results.xml"
121 queue: "libcxx-builders"
125 - exit_status: -1 # Agent was lost
127 timeout_in_minutes: 120
129 - label: "GCC 11 / C++latest"
130 command: "libcxx/utils/ci/run-buildbot generic-gcc"
132 - "**/test-results.xml"
134 queue: "libcxx-builders"
138 - exit_status: -1 # Agent was lost
140 timeout_in_minutes: 120
143 # All other supported configurations of libc++.
148 command: "libcxx/utils/ci/run-buildbot generic-cxx20"
150 - "**/test-results.xml"
153 queue: "libcxx-builders"
157 - exit_status: -1 # Agent was lost
159 timeout_in_minutes: 120
162 command: "libcxx/utils/ci/run-buildbot generic-cxx17"
164 - "**/test-results.xml"
167 queue: "libcxx-builders"
171 - exit_status: -1 # Agent was lost
173 timeout_in_minutes: 120
176 command: "libcxx/utils/ci/run-buildbot generic-cxx14"
178 - "**/test-results.xml"
181 queue: "libcxx-builders"
185 - exit_status: -1 # Agent was lost
187 timeout_in_minutes: 120
189 # Tests with the supported compilers.
190 - label: "GCC 11 / C++11"
191 command: "libcxx/utils/ci/run-buildbot generic-gcc-cxx11"
193 - "**/test-results.xml"
195 queue: "libcxx-builders"
199 - exit_status: -1 # Agent was lost
201 timeout_in_minutes: 120
204 command: "libcxx/utils/ci/run-buildbot generic-clang-12"
206 - "**/test-results.xml"
208 queue: "libcxx-builders"
212 - exit_status: -1 # Agent was lost
214 timeout_in_minutes: 120
217 command: "libcxx/utils/ci/run-buildbot generic-clang-13"
219 - "**/test-results.xml"
221 queue: "libcxx-builders"
225 - exit_status: -1 # Agent was lost
227 timeout_in_minutes: 120
229 # Tests with the sanitizers.
230 - group: "Sanitizers"
233 command: "libcxx/utils/ci/run-buildbot generic-asan"
235 - "**/test-results.xml"
237 queue: "libcxx-builders"
241 - exit_status: -1 # Agent was lost
243 timeout_in_minutes: 120
246 command: "libcxx/utils/ci/run-buildbot generic-tsan"
248 - "**/test-results.xml"
250 queue: "libcxx-builders"
254 - exit_status: -1 # Agent was lost
256 timeout_in_minutes: 120
259 command: "libcxx/utils/ci/run-buildbot generic-ubsan"
261 - "**/test-results.xml"
263 queue: "libcxx-builders"
267 - exit_status: -1 # Agent was lost
269 timeout_in_minutes: 120
271 # Tests with the various supported ways to build libc++.
272 - label: "Bootstrapping build"
273 command: "libcxx/utils/ci/run-buildbot bootstrapping-build"
275 - "**/test-results.xml"
277 queue: "libcxx-builders"
281 - exit_status: -1 # Agent was lost
283 timeout_in_minutes: 120
287 - label: "Legacy Lit configuration"
288 command: "libcxx/utils/ci/run-buildbot legacy-test-config"
290 - "**/test-results.xml"
292 queue: "libcxx-builders"
296 - exit_status: -1 # Agent was lost
298 timeout_in_minutes: 120
300 - label: "Legacy LLVM_ENABLE_PROJECTS build"
301 command: "libcxx/utils/ci/run-buildbot legacy-project-build"
303 - "**/test-results.xml"
305 queue: "libcxx-builders"
309 - exit_status: -1 # Agent was lost
311 timeout_in_minutes: 120
313 # Tests with various build configurations.
315 - label: "Static libraries"
316 command: "libcxx/utils/ci/run-buildbot generic-static"
318 - "**/test-results.xml"
320 queue: "libcxx-builders"
324 - exit_status: -1 # Agent was lost
326 timeout_in_minutes: 120
328 - label: "Assertions enabled"
329 command: "libcxx/utils/ci/run-buildbot generic-assertions"
331 - "**/test-results.xml"
334 queue: "libcxx-builders"
338 - exit_status: -1 # Agent was lost
340 timeout_in_minutes: 120
342 - label: "Debug iterators"
343 command: "libcxx/utils/ci/run-buildbot generic-debug-iterators"
345 - "**/test-results.xml"
348 queue: "libcxx-builders"
352 - exit_status: -1 # Agent was lost
354 timeout_in_minutes: 120
356 - label: "With LLVM's libunwind"
357 command: "libcxx/utils/ci/run-buildbot generic-with_llvm_unwinder"
359 - "**/test-results.xml"
361 queue: "libcxx-builders"
365 - exit_status: -1 # Agent was lost
367 timeout_in_minutes: 120
369 - group: "Parts disabled"
371 - label: "No threads"
372 command: "libcxx/utils/ci/run-buildbot generic-singlethreaded"
374 - "**/test-results.xml"
376 queue: "libcxx-builders"
380 - exit_status: -1 # Agent was lost
382 timeout_in_minutes: 120
384 - label: "No debug mode"
385 command: "libcxx/utils/ci/run-buildbot generic-no-debug"
387 - "**/test-results.xml"
389 queue: "libcxx-builders"
393 - exit_status: -1 # Agent was lost
395 timeout_in_minutes: 120
397 - label: "No filesystem"
398 command: "libcxx/utils/ci/run-buildbot generic-no-filesystem"
400 - "**/test-results.xml"
402 queue: "libcxx-builders"
406 - exit_status: -1 # Agent was lost
408 timeout_in_minutes: 120
410 - label: "No random device"
411 command: "libcxx/utils/ci/run-buildbot generic-no-random_device"
413 - "**/test-results.xml"
415 queue: "libcxx-builders"
419 - exit_status: -1 # Agent was lost
421 timeout_in_minutes: 120
424 command: "libcxx/utils/ci/run-buildbot generic-no-localization"
426 - "**/test-results.xml"
428 queue: "libcxx-builders"
432 - exit_status: -1 # Agent was lost
434 timeout_in_minutes: 120
436 - label: "No Unicode"
437 command: "libcxx/utils/ci/run-buildbot generic-no-unicode"
439 - "**/test-results.xml"
441 queue: "libcxx-builders"
445 - exit_status: -1 # Agent was lost
447 timeout_in_minutes: 120
449 - label: "No wide characters"
450 command: "libcxx/utils/ci/run-buildbot generic-no-wide-characters"
452 - "**/test-results.xml"
454 queue: "libcxx-builders"
458 - exit_status: -1 # Agent was lost
460 timeout_in_minutes: 120
462 - label: "No experimental features"
463 command: "libcxx/utils/ci/run-buildbot generic-no-experimental"
465 - "**/test-results.xml"
467 queue: "libcxx-builders"
471 - exit_status: -1 # Agent was lost
473 timeout_in_minutes: 120
475 - label: "No exceptions"
476 command: "libcxx/utils/ci/run-buildbot generic-noexceptions"
478 - "**/test-results.xml"
480 queue: "libcxx-builders"
484 - exit_status: -1 # Agent was lost
486 timeout_in_minutes: 120
488 - label: "Unstable ABI"
489 command: "libcxx/utils/ci/run-buildbot generic-abi-unstable"
491 - "**/test-results.xml"
493 queue: "libcxx-builders"
497 - exit_status: -1 # Agent was lost
499 timeout_in_minutes: 120
501 # Other non-testing CI jobs
502 - label: "Benchmarks"
503 command: "libcxx/utils/ci/run-buildbot benchmarks"
505 - "**/test-results.xml"
507 queue: "libcxx-builders"
511 - exit_status: -1 # Agent was lost
513 timeout_in_minutes: 120
515 # Tests on non-Unix platforms
516 - group: ":windows: Windows"
518 - label: "Clang-cl (DLL)"
519 command: "bash libcxx/utils/ci/run-buildbot clang-cl-dll"
521 - "**/test-results.xml"
526 - exit_status: -1 # Agent was lost
528 timeout_in_minutes: 120
530 - label: "Clang-cl (Static)"
531 command: "bash libcxx/utils/ci/run-buildbot clang-cl-static"
533 - "**/test-results.xml"
538 - exit_status: -1 # Agent was lost
540 timeout_in_minutes: 120
542 - label: "MinGW (DLL)"
543 command: "bash libcxx/utils/ci/run-buildbot mingw-dll"
545 - "**/test-results.xml"
550 - exit_status: -1 # Agent was lost
552 timeout_in_minutes: 120
554 - label: "MinGW (Static)"
555 command: "bash libcxx/utils/ci/run-buildbot mingw-static"
557 - "**/test-results.xml"
562 - exit_status: -1 # Agent was lost
564 timeout_in_minutes: 120
566 - group: ":apple: Apple"
568 - label: "MacOS x86_64"
569 command: "libcxx/utils/ci/run-buildbot generic-cxx20"
571 - "**/test-results.xml"
574 queue: "libcxx-builders"
579 - exit_status: -1 # Agent was lost
581 timeout_in_minutes: 120
583 - label: "MacOS arm64"
584 command: "libcxx/utils/ci/run-buildbot generic-cxx20"
586 - "**/test-results.xml"
589 queue: "libcxx-builders"
594 - exit_status: -1 # Agent was lost
596 timeout_in_minutes: 120
598 # Build with the configuration we use to generate libc++.dylib on Apple platforms
599 - label: "Apple system"
600 command: "libcxx/utils/ci/run-buildbot apple-system"
602 - "**/test-results.xml"
604 queue: "libcxx-builders"
608 - exit_status: -1 # Agent was lost
610 timeout_in_minutes: 120
612 # Test back-deployment to older Apple platforms
613 - label: "Apple back-deployment macosx10.9"
614 command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.9"
616 - "**/test-results.xml"
618 queue: "libcxx-builders"
619 os: "macos10.15" # TODO: For now, we're running the back-deployment tests for 10.9 on 10.15, because we don't have proper 10.9 machines
623 - exit_status: -1 # Agent was lost
625 timeout_in_minutes: 120
627 - label: "Apple back-deployment macosx10.15"
628 command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.15"
630 - "**/test-results.xml"
632 queue: "libcxx-builders"
637 - exit_status: -1 # Agent was lost
639 timeout_in_minutes: 120
644 command: "libcxx/utils/ci/run-buildbot aarch64"
646 - "**/test-results.xml"
648 queue: "libcxx-builders-linaro-arm"
652 - exit_status: -1 # Agent was lost
654 timeout_in_minutes: 120
656 - label: "AArch64 -fno-exceptions"
657 command: "libcxx/utils/ci/run-buildbot aarch64-noexceptions"
659 - "**/test-results.xml"
661 queue: "libcxx-builders-linaro-arm"
665 - exit_status: -1 # Agent was lost
667 timeout_in_minutes: 120
670 command: "libcxx/utils/ci/run-buildbot armv8"
672 - "**/test-results.xml"
674 queue: "libcxx-builders-linaro-arm"
678 - exit_status: -1 # Agent was lost
680 timeout_in_minutes: 120
682 - label: "Armv8 -fno-exceptions"
683 command: "libcxx/utils/ci/run-buildbot armv8-noexceptions"
685 - "**/test-results.xml"
687 queue: "libcxx-builders-linaro-arm"
691 - exit_status: -1 # Agent was lost
693 timeout_in_minutes: 120
696 command: "libcxx/utils/ci/run-buildbot armv7"
698 - "**/test-results.xml"
700 queue: "libcxx-builders-linaro-arm"
701 arch: "armv8l" # Compiling for v7, running on v8 hardware
704 - exit_status: -1 # Agent was lost
706 timeout_in_minutes: 120
708 - label: "Armv7 -fno-exceptions"
709 command: "libcxx/utils/ci/run-buildbot armv7-noexceptions"
711 - "**/test-results.xml"
713 queue: "libcxx-builders-linaro-arm"
714 arch: "armv8l" # Compiling for v7, running on v8 hardware
717 - exit_status: -1 # Agent was lost
719 timeout_in_minutes: 120
723 - label: "AIX (32-bit)"
724 command: "libcxx/utils/ci/run-buildbot aix"
726 - "**/test-results.xml"
729 - exit_status: -1 # Agent was lost
734 queue: libcxx-builders
738 - exit_status: -1 # Agent was lost
740 timeout_in_minutes: 120
742 - label: "AIX (64-bit)"
743 command: "libcxx/utils/ci/run-buildbot aix"
745 - "**/test-results.xml"
749 queue: libcxx-builders
753 - exit_status: -1 # Agent was lost
755 timeout_in_minutes: 120