[runtimes] Remove support for standalone builds
[platform/upstream/llvm.git] / libcxx / utils / ci / buildkite-pipeline.yml
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
20 steps:
21   #
22   # Light pre-commit tests for things like formatting or when people forget
23   # to update generated files.
24   #
25   - label: "Format"
26     command: "libcxx/utils/ci/run-buildbot check-format"
27     artifact_paths:
28       - "**/clang-format.patch"
29     agents:
30       queue: "libcxx-builders"
31       os: "linux"
32     retry:
33       automatic:
34         - exit_status: -1  # Agent was lost
35           limit: 2
36     soft_fail:
37         - exit_status: 1
38     timeout_in_minutes: 120
39
40   - label: "Generated output"
41     command: "libcxx/utils/ci/run-buildbot check-generated-output"
42     artifact_paths:
43       - "**/generated_output.patch"
44       - "**/generated_output.status"
45     agents:
46       queue: "libcxx-builders"
47       os: "linux"
48     retry:
49       automatic:
50         - exit_status: -1  # Agent was lost
51           limit: 2
52     timeout_in_minutes: 120
53
54   - label: "Documentation"
55     command: "libcxx/utils/ci/run-buildbot documentation"
56     artifact_paths:
57       - "**/test-results.xml"
58     agents:
59       queue: "libcxx-builders"
60       os: "linux"
61     retry:
62       automatic:
63         - exit_status: -1  # Agent was lost
64           limit: 2
65     timeout_in_minutes: 120
66
67   #
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.
71   #
72   - wait
73
74   - label: "C++2b"
75     command: "libcxx/utils/ci/run-buildbot generic-cxx2b"
76     artifact_paths:
77       - "**/test-results.xml"
78       - "**/*.abilist"
79     agents:
80       queue: "libcxx-builders"
81       os: "linux"
82     retry:
83       automatic:
84         - exit_status: -1  # Agent was lost
85           limit: 2
86     timeout_in_minutes: 120
87
88   - label: "C++11"
89     command: "libcxx/utils/ci/run-buildbot generic-cxx11"
90     artifact_paths:
91       - "**/test-results.xml"
92       - "**/*.abilist"
93     agents:
94       queue: "libcxx-builders"
95       os: "linux"
96     retry:
97       automatic:
98         - exit_status: -1  # Agent was lost
99           limit: 2
100     timeout_in_minutes: 120
101
102   - label: "C++03"
103     command: "libcxx/utils/ci/run-buildbot generic-cxx03"
104     artifact_paths:
105       - "**/test-results.xml"
106       - "**/*.abilist"
107     agents:
108       queue: "libcxx-builders"
109       os: "linux"
110     retry:
111       automatic:
112         - exit_status: -1  # Agent was lost
113           limit: 2
114     timeout_in_minutes: 120
115
116   - label: "Modular build"
117     command: "libcxx/utils/ci/run-buildbot generic-modules"
118     artifact_paths:
119       - "**/test-results.xml"
120     agents:
121       queue: "libcxx-builders"
122       os: "linux"
123     retry:
124       automatic:
125         - exit_status: -1  # Agent was lost
126           limit: 2
127     timeout_in_minutes: 120
128
129   - label: "GCC 11 / C++latest"
130     command: "libcxx/utils/ci/run-buildbot generic-gcc"
131     artifact_paths:
132       - "**/test-results.xml"
133     agents:
134       queue: "libcxx-builders"
135       os: "linux"
136     retry:
137       automatic:
138         - exit_status: -1  # Agent was lost
139           limit: 2
140     timeout_in_minutes: 120
141
142   #
143   # All other supported configurations of libc++.
144   #
145   - wait
146
147   - label: "C++20"
148     command: "libcxx/utils/ci/run-buildbot generic-cxx20"
149     artifact_paths:
150       - "**/test-results.xml"
151       - "**/*.abilist"
152     agents:
153       queue: "libcxx-builders"
154       os: "linux"
155     retry:
156       automatic:
157         - exit_status: -1  # Agent was lost
158           limit: 2
159     timeout_in_minutes: 120
160
161   - label: "C++17"
162     command: "libcxx/utils/ci/run-buildbot generic-cxx17"
163     artifact_paths:
164       - "**/test-results.xml"
165       - "**/*.abilist"
166     agents:
167       queue: "libcxx-builders"
168       os: "linux"
169     retry:
170       automatic:
171         - exit_status: -1  # Agent was lost
172           limit: 2
173     timeout_in_minutes: 120
174
175   - label: "C++14"
176     command: "libcxx/utils/ci/run-buildbot generic-cxx14"
177     artifact_paths:
178       - "**/test-results.xml"
179       - "**/*.abilist"
180     agents:
181       queue: "libcxx-builders"
182       os: "linux"
183     retry:
184       automatic:
185         - exit_status: -1  # Agent was lost
186           limit: 2
187     timeout_in_minutes: 120
188
189   # Tests with the supported compilers.
190   - label: "GCC 11 / C++11"
191     command: "libcxx/utils/ci/run-buildbot generic-gcc-cxx11"
192     artifact_paths:
193       - "**/test-results.xml"
194     agents:
195       queue: "libcxx-builders"
196       os: "linux"
197     retry:
198       automatic:
199         - exit_status: -1  # Agent was lost
200           limit: 2
201     timeout_in_minutes: 120
202
203   - label: "Clang 12"
204     command: "libcxx/utils/ci/run-buildbot generic-clang-12"
205     artifact_paths:
206       - "**/test-results.xml"
207     agents:
208       queue: "libcxx-builders"
209       os: "linux"
210     retry:
211       automatic:
212         - exit_status: -1  # Agent was lost
213           limit: 2
214     timeout_in_minutes: 120
215
216   - label: "Clang 13"
217     command: "libcxx/utils/ci/run-buildbot generic-clang-13"
218     artifact_paths:
219       - "**/test-results.xml"
220     agents:
221       queue: "libcxx-builders"
222       os: "linux"
223     retry:
224       automatic:
225         - exit_status: -1  # Agent was lost
226           limit: 2
227     timeout_in_minutes: 120
228
229   # Tests with the sanitizers.
230   - group: "Sanitizers"
231     steps:
232     - label: "ASAN"
233       command: "libcxx/utils/ci/run-buildbot generic-asan"
234       artifact_paths:
235         - "**/test-results.xml"
236       agents:
237         queue: "libcxx-builders"
238         os: "linux"
239       retry:
240         automatic:
241           - exit_status: -1  # Agent was lost
242             limit: 2
243       timeout_in_minutes: 120
244
245     - label: "TSAN"
246       command: "libcxx/utils/ci/run-buildbot generic-tsan"
247       artifact_paths:
248         - "**/test-results.xml"
249       agents:
250         queue: "libcxx-builders"
251         os: "linux"
252       retry:
253         automatic:
254           - exit_status: -1  # Agent was lost
255             limit: 2
256       timeout_in_minutes: 120
257
258     - label: "UBSAN"
259       command: "libcxx/utils/ci/run-buildbot generic-ubsan"
260       artifact_paths:
261         - "**/test-results.xml"
262       agents:
263         queue: "libcxx-builders"
264         os: "linux"
265       retry:
266         automatic:
267           - exit_status: -1  # Agent was lost
268             limit: 2
269       timeout_in_minutes: 120
270
271   # Tests with the various supported ways to build libc++.
272   - label: "Bootstrapping build"
273     command: "libcxx/utils/ci/run-buildbot bootstrapping-build"
274     artifact_paths:
275       - "**/test-results.xml"
276     agents:
277       queue: "libcxx-builders"
278       os: "linux"
279     retry:
280       automatic:
281         - exit_status: -1  # Agent was lost
282           limit: 2
283     timeout_in_minutes: 120
284
285   - group: "Legacy"
286     steps:
287     - label: "Legacy Lit configuration"
288       command: "libcxx/utils/ci/run-buildbot legacy-test-config"
289       artifact_paths:
290         - "**/test-results.xml"
291       agents:
292         queue: "libcxx-builders"
293         os: "linux"
294       retry:
295         automatic:
296           - exit_status: -1  # Agent was lost
297             limit: 2
298       timeout_in_minutes: 120
299
300     - label: "Legacy LLVM_ENABLE_PROJECTS build"
301       command: "libcxx/utils/ci/run-buildbot legacy-project-build"
302       artifact_paths:
303         - "**/test-results.xml"
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
312
313   # Tests with various build configurations.
314
315   - label: "Static libraries"
316     command: "libcxx/utils/ci/run-buildbot generic-static"
317     artifact_paths:
318       - "**/test-results.xml"
319     agents:
320       queue: "libcxx-builders"
321       os: "linux"
322     retry:
323       automatic:
324         - exit_status: -1  # Agent was lost
325           limit: 2
326     timeout_in_minutes: 120
327
328   - label: "Assertions enabled"
329     command: "libcxx/utils/ci/run-buildbot generic-assertions"
330     artifact_paths:
331       - "**/test-results.xml"
332       - "**/*.abilist"
333     agents:
334       queue: "libcxx-builders"
335       os: "linux"
336     retry:
337       automatic:
338         - exit_status: -1  # Agent was lost
339           limit: 2
340     timeout_in_minutes: 120
341
342   - label: "Debug iterators"
343     command: "libcxx/utils/ci/run-buildbot generic-debug-iterators"
344     artifact_paths:
345       - "**/test-results.xml"
346       - "**/*.abilist"
347     agents:
348       queue: "libcxx-builders"
349       os: "linux"
350     retry:
351       automatic:
352         - exit_status: -1  # Agent was lost
353           limit: 2
354     timeout_in_minutes: 120
355
356   - label: "With LLVM's libunwind"
357     command: "libcxx/utils/ci/run-buildbot generic-with_llvm_unwinder"
358     artifact_paths:
359       - "**/test-results.xml"
360     agents:
361       queue: "libcxx-builders"
362       os: "linux"
363     retry:
364       automatic:
365         - exit_status: -1  # Agent was lost
366           limit: 2
367     timeout_in_minutes: 120
368
369   - group: "Parts disabled"
370     steps:
371     - label: "No threads"
372       command: "libcxx/utils/ci/run-buildbot generic-singlethreaded"
373       artifact_paths:
374         - "**/test-results.xml"
375       agents:
376         queue: "libcxx-builders"
377         os: "linux"
378       retry:
379         automatic:
380           - exit_status: -1  # Agent was lost
381             limit: 2
382       timeout_in_minutes: 120
383
384     - label: "No debug mode"
385       command: "libcxx/utils/ci/run-buildbot generic-no-debug"
386       artifact_paths:
387         - "**/test-results.xml"
388       agents:
389         queue: "libcxx-builders"
390         os: "linux"
391       retry:
392         automatic:
393           - exit_status: -1  # Agent was lost
394             limit: 2
395       timeout_in_minutes: 120
396
397     - label: "No filesystem"
398       command: "libcxx/utils/ci/run-buildbot generic-no-filesystem"
399       artifact_paths:
400         - "**/test-results.xml"
401       agents:
402         queue: "libcxx-builders"
403         os: "linux"
404       retry:
405         automatic:
406           - exit_status: -1  # Agent was lost
407             limit: 2
408       timeout_in_minutes: 120
409
410     - label: "No random device"
411       command: "libcxx/utils/ci/run-buildbot generic-no-random_device"
412       artifact_paths:
413         - "**/test-results.xml"
414       agents:
415         queue: "libcxx-builders"
416         os: "linux"
417       retry:
418         automatic:
419           - exit_status: -1  # Agent was lost
420             limit: 2
421       timeout_in_minutes: 120
422
423     - label: "No locale"
424       command: "libcxx/utils/ci/run-buildbot generic-no-localization"
425       artifact_paths:
426         - "**/test-results.xml"
427       agents:
428         queue: "libcxx-builders"
429         os: "linux"
430       retry:
431         automatic:
432           - exit_status: -1  # Agent was lost
433             limit: 2
434       timeout_in_minutes: 120
435
436     - label: "No Unicode"
437       command: "libcxx/utils/ci/run-buildbot generic-no-unicode"
438       artifact_paths:
439         - "**/test-results.xml"
440       agents:
441         queue: "libcxx-builders"
442         os: "linux"
443       retry:
444         automatic:
445           - exit_status: -1  # Agent was lost
446             limit: 2
447       timeout_in_minutes: 120
448
449     - label: "No wide characters"
450       command: "libcxx/utils/ci/run-buildbot generic-no-wide-characters"
451       artifact_paths:
452         - "**/test-results.xml"
453       agents:
454         queue: "libcxx-builders"
455         os: "linux"
456       retry:
457         automatic:
458           - exit_status: -1  # Agent was lost
459             limit: 2
460       timeout_in_minutes: 120
461
462     - label: "No experimental features"
463       command: "libcxx/utils/ci/run-buildbot generic-no-experimental"
464       artifact_paths:
465         - "**/test-results.xml"
466       agents:
467         queue: "libcxx-builders"
468         os: "linux"
469       retry:
470         automatic:
471           - exit_status: -1  # Agent was lost
472             limit: 2
473       timeout_in_minutes: 120
474
475     - label: "No exceptions"
476       command: "libcxx/utils/ci/run-buildbot generic-noexceptions"
477       artifact_paths:
478         - "**/test-results.xml"
479       agents:
480         queue: "libcxx-builders"
481         os: "linux"
482       retry:
483         automatic:
484           - exit_status: -1  # Agent was lost
485             limit: 2
486       timeout_in_minutes: 120
487
488   - label: "Unstable ABI"
489     command: "libcxx/utils/ci/run-buildbot generic-abi-unstable"
490     artifact_paths:
491       - "**/test-results.xml"
492     agents:
493       queue: "libcxx-builders"
494       os: "linux"
495     retry:
496       automatic:
497         - exit_status: -1  # Agent was lost
498           limit: 2
499     timeout_in_minutes: 120
500
501   # Other non-testing CI jobs
502   - label: "Benchmarks"
503     command: "libcxx/utils/ci/run-buildbot benchmarks"
504     artifact_paths:
505       - "**/test-results.xml"
506     agents:
507       queue: "libcxx-builders"
508       os: "linux"
509     retry:
510       automatic:
511         - exit_status: -1  # Agent was lost
512           limit: 2
513     timeout_in_minutes: 120
514
515   # Tests on non-Unix platforms
516   - group: ":windows: Windows"
517     steps:
518     - label: "Clang-cl (DLL)"
519       command: "bash libcxx/utils/ci/run-buildbot clang-cl-dll"
520       artifact_paths:
521         - "**/test-results.xml"
522       agents:
523         queue: "windows"
524       retry:
525         automatic:
526           - exit_status: -1  # Agent was lost
527             limit: 2
528       timeout_in_minutes: 120
529
530     - label: "Clang-cl (Static)"
531       command: "bash libcxx/utils/ci/run-buildbot clang-cl-static"
532       artifact_paths:
533         - "**/test-results.xml"
534       agents:
535         queue: "windows"
536       retry:
537         automatic:
538           - exit_status: -1  # Agent was lost
539             limit: 2
540       timeout_in_minutes: 120
541
542     - label: "MinGW (DLL)"
543       command: "bash libcxx/utils/ci/run-buildbot mingw-dll"
544       artifact_paths:
545         - "**/test-results.xml"
546       agents:
547         queue: "windows"
548       retry:
549         automatic:
550           - exit_status: -1  # Agent was lost
551             limit: 2
552       timeout_in_minutes: 120
553
554     - label: "MinGW (Static)"
555       command: "bash libcxx/utils/ci/run-buildbot mingw-static"
556       artifact_paths:
557         - "**/test-results.xml"
558       agents:
559         queue: "windows"
560       retry:
561         automatic:
562           - exit_status: -1  # Agent was lost
563             limit: 2
564       timeout_in_minutes: 120
565
566   - group: ":apple: Apple"
567     steps:
568     - label: "MacOS x86_64"
569       command: "libcxx/utils/ci/run-buildbot generic-cxx20"
570       artifact_paths:
571         - "**/test-results.xml"
572         - "**/*.abilist"
573       agents:
574         queue: "libcxx-builders"
575         os: "macos"
576         arch: "x86_64"
577       retry:
578         automatic:
579           - exit_status: -1  # Agent was lost
580             limit: 2
581       timeout_in_minutes: 120
582
583     - label: "MacOS arm64"
584       command: "libcxx/utils/ci/run-buildbot generic-cxx20"
585       artifact_paths:
586         - "**/test-results.xml"
587         - "**/*.abilist"
588       agents:
589         queue: "libcxx-builders"
590         os: "macos"
591         arch: "arm64"
592       retry:
593         automatic:
594           - exit_status: -1  # Agent was lost
595             limit: 2
596       timeout_in_minutes: 120
597
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"
601       artifact_paths:
602         - "**/test-results.xml"
603       agents:
604         queue: "libcxx-builders"
605         os: "macos"
606       retry:
607         automatic:
608           - exit_status: -1  # Agent was lost
609             limit: 2
610       timeout_in_minutes: 120
611
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"
615       artifact_paths:
616         - "**/test-results.xml"
617       agents:
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
620         arch: "x86_64"
621       retry:
622         automatic:
623           - exit_status: -1  # Agent was lost
624             limit: 2
625       timeout_in_minutes: 120
626
627     - label: "Apple back-deployment macosx10.15"
628       command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.15"
629       artifact_paths:
630         - "**/test-results.xml"
631       agents:
632         queue: "libcxx-builders"
633         os: "macos10.15"
634         arch: "x86_64"
635       retry:
636         automatic:
637           - exit_status: -1  # Agent was lost
638             limit: 2
639       timeout_in_minutes: 120
640
641   - group: "ARM"
642     steps:
643     - label: "AArch64"
644       command: "libcxx/utils/ci/run-buildbot aarch64"
645       artifact_paths:
646         - "**/test-results.xml"
647       agents:
648         queue: "libcxx-builders-linaro-arm"
649         arch: "aarch64"
650       retry:
651         automatic:
652           - exit_status: -1  # Agent was lost
653             limit: 2
654       timeout_in_minutes: 120
655
656     - label: "AArch64 -fno-exceptions"
657       command: "libcxx/utils/ci/run-buildbot aarch64-noexceptions"
658       artifact_paths:
659         - "**/test-results.xml"
660       agents:
661         queue: "libcxx-builders-linaro-arm"
662         arch: "aarch64"
663       retry:
664         automatic:
665           - exit_status: -1  # Agent was lost
666             limit: 2
667       timeout_in_minutes: 120
668
669     - label: "Armv8"
670       command: "libcxx/utils/ci/run-buildbot armv8"
671       artifact_paths:
672         - "**/test-results.xml"
673       agents:
674         queue: "libcxx-builders-linaro-arm"
675         arch: "armv8l"
676       retry:
677         automatic:
678           - exit_status: -1  # Agent was lost
679             limit: 2
680       timeout_in_minutes: 120
681
682     - label: "Armv8 -fno-exceptions"
683       command: "libcxx/utils/ci/run-buildbot armv8-noexceptions"
684       artifact_paths:
685         - "**/test-results.xml"
686       agents:
687         queue: "libcxx-builders-linaro-arm"
688         arch: "armv8l"
689       retry:
690         automatic:
691           - exit_status: -1  # Agent was lost
692             limit: 2
693       timeout_in_minutes: 120
694
695     - label: "Armv7"
696       command: "libcxx/utils/ci/run-buildbot armv7"
697       artifact_paths:
698         - "**/test-results.xml"
699       agents:
700         queue: "libcxx-builders-linaro-arm"
701         arch: "armv8l" # Compiling for v7, running on v8 hardware
702       retry:
703         automatic:
704           - exit_status: -1  # Agent was lost
705             limit: 2
706       timeout_in_minutes: 120
707
708     - label: "Armv7 -fno-exceptions"
709       command: "libcxx/utils/ci/run-buildbot armv7-noexceptions"
710       artifact_paths:
711         - "**/test-results.xml"
712       agents:
713         queue: "libcxx-builders-linaro-arm"
714         arch: "armv8l" # Compiling for v7, running on v8 hardware
715       retry:
716         automatic:
717           - exit_status: -1  # Agent was lost
718             limit: 2
719       timeout_in_minutes: 120
720
721   - group: "AIX"
722     steps:
723     - label: "AIX (32-bit)"
724       command: "libcxx/utils/ci/run-buildbot aix"
725       artifact_paths:
726         - "**/test-results.xml"
727       retry:
728         automatic:
729           - exit_status: -1  # Agent was lost
730             limit: 2
731       env:
732           OBJECT_MODE: "32"
733       agents:
734           queue: libcxx-builders
735           os: aix
736       retry:
737         automatic:
738           - exit_status: -1  # Agent was lost
739             limit: 2
740       timeout_in_minutes: 120
741
742     - label: "AIX (64-bit)"
743       command: "libcxx/utils/ci/run-buildbot aix"
744       artifact_paths:
745         - "**/test-results.xml"
746       env:
747           OBJECT_MODE: "64"
748       agents:
749           queue: libcxx-builders
750           os: aix
751       retry:
752         automatic:
753           - exit_status: -1  # Agent was lost
754             limit: 2
755       timeout_in_minutes: 120