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 20steps: 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 retry: 32 automatic: 33 - exit_status: -1 # Agent was lost 34 limit: 2 35 soft_fail: 36 - exit_status: 1 37 38 - label: "Generated output" 39 command: "libcxx/utils/ci/run-buildbot check-generated-output" 40 artifact_paths: 41 - "**/generated_output.patch" 42 agents: 43 queue: "libcxx-builders" 44 retry: 45 automatic: 46 - exit_status: -1 # Agent was lost 47 limit: 2 48 49 # 50 # General testing with the default configuration, under all the supported 51 # Standard modes, with Clang and GCC. This catches most issues upfront. 52 # The goal of this step is to catch most issues while being very fast. 53 # 54 - wait 55 56 - label: "C++2b" 57 command: "libcxx/utils/ci/run-buildbot generic-cxx2b" 58 artifact_paths: 59 - "**/test-results.xml" 60 - "**/*.abilist" 61 agents: 62 queue: "libcxx-builders" 63 retry: 64 automatic: 65 - exit_status: -1 # Agent was lost 66 limit: 2 67 68 - label: "C++20" 69 command: "libcxx/utils/ci/run-buildbot generic-cxx20" 70 artifact_paths: 71 - "**/test-results.xml" 72 - "**/*.abilist" 73 agents: 74 queue: "libcxx-builders" 75 retry: 76 automatic: 77 - exit_status: -1 # Agent was lost 78 limit: 2 79 80 - label: "C++17" 81 command: "libcxx/utils/ci/run-buildbot generic-cxx17" 82 artifact_paths: 83 - "**/test-results.xml" 84 - "**/*.abilist" 85 agents: 86 queue: "libcxx-builders" 87 retry: 88 automatic: 89 - exit_status: -1 # Agent was lost 90 limit: 2 91 92 - label: "C++14" 93 command: "libcxx/utils/ci/run-buildbot generic-cxx14" 94 artifact_paths: 95 - "**/test-results.xml" 96 - "**/*.abilist" 97 agents: 98 queue: "libcxx-builders" 99 retry: 100 automatic: 101 - exit_status: -1 # Agent was lost 102 limit: 2 103 - label: "C++11" 104 command: "libcxx/utils/ci/run-buildbot generic-cxx11" 105 artifact_paths: 106 - "**/test-results.xml" 107 - "**/*.abilist" 108 agents: 109 queue: "libcxx-builders" 110 retry: 111 automatic: 112 - exit_status: -1 # Agent was lost 113 limit: 2 114 115 - label: "C++03" 116 command: "libcxx/utils/ci/run-buildbot generic-cxx03" 117 artifact_paths: 118 - "**/test-results.xml" 119 - "**/*.abilist" 120 agents: 121 queue: "libcxx-builders" 122 retry: 123 automatic: 124 - exit_status: -1 # Agent was lost 125 limit: 2 126 127 - label: "GCC/C++20" 128 command: "libcxx/utils/ci/run-buildbot generic-gcc" 129 artifact_paths: 130 - "**/test-results.xml" 131 agents: 132 queue: "libcxx-builders" 133 retry: 134 automatic: 135 - exit_status: -1 # Agent was lost 136 limit: 2 137 138 # 139 # All other supported configurations of libc++. 140 # 141 - wait 142 143 - label: "-fno-exceptions" 144 command: "libcxx/utils/ci/run-buildbot generic-noexceptions" 145 artifact_paths: 146 - "**/test-results.xml" 147 agents: 148 queue: "libcxx-builders" 149 retry: 150 automatic: 151 - exit_status: -1 # Agent was lost 152 limit: 2 153 154 - label: "Static libraries" 155 command: "libcxx/utils/ci/run-buildbot generic-static" 156 artifact_paths: 157 - "**/test-results.xml" 158 agents: 159 queue: "libcxx-builders" 160 retry: 161 automatic: 162 - exit_status: -1 # Agent was lost 163 limit: 2 164 165 - label: "Debug iterators" 166 command: "libcxx/utils/ci/run-buildbot generic-debug-iterators" 167 artifact_paths: 168 - "**/test-results.xml" 169 - "**/*.abilist" 170 agents: 171 queue: "libcxx-builders" 172 retry: 173 automatic: 174 - exit_status: -1 # Agent was lost 175 limit: 2 176 177 - label: "ASAN" 178 command: "libcxx/utils/ci/run-buildbot generic-asan" 179 artifact_paths: 180 - "**/test-results.xml" 181 agents: 182 queue: "libcxx-builders" 183 retry: 184 automatic: 185 - exit_status: -1 # Agent was lost 186 limit: 2 187 188 - label: "TSAN" 189 command: "libcxx/utils/ci/run-buildbot generic-tsan" 190 artifact_paths: 191 - "**/test-results.xml" 192 agents: 193 queue: "libcxx-builders" 194 retry: 195 automatic: 196 - exit_status: -1 # Agent was lost 197 limit: 2 198 199 - label: "UBSAN" 200 command: "libcxx/utils/ci/run-buildbot generic-ubsan" 201 artifact_paths: 202 - "**/test-results.xml" 203 agents: 204 queue: "libcxx-builders" 205 retry: 206 automatic: 207 - exit_status: -1 # Agent was lost 208 limit: 2 209 210 - label: "With LLVM's libunwind" 211 command: "libcxx/utils/ci/run-buildbot generic-with_llvm_unwinder" 212 artifact_paths: 213 - "**/test-results.xml" 214 agents: 215 queue: "libcxx-builders" 216 retry: 217 automatic: 218 - exit_status: -1 # Agent was lost 219 limit: 2 220 221 - label: "Single-threaded" 222 command: "libcxx/utils/ci/run-buildbot generic-singlethreaded" 223 artifact_paths: 224 - "**/test-results.xml" 225 agents: 226 queue: "libcxx-builders" 227 retry: 228 automatic: 229 - exit_status: -1 # Agent was lost 230 limit: 2 231 232 - label: "No debug mode" 233 command: "libcxx/utils/ci/run-buildbot generic-no-debug" 234 artifact_paths: 235 - "**/test-results.xml" 236 agents: 237 queue: "libcxx-builders" 238 retry: 239 automatic: 240 - exit_status: -1 # Agent was lost 241 limit: 2 242 243 - label: "No Filesystem" 244 command: "libcxx/utils/ci/run-buildbot generic-no-filesystem" 245 artifact_paths: 246 - "**/test-results.xml" 247 agents: 248 queue: "libcxx-builders" 249 retry: 250 automatic: 251 - exit_status: -1 # Agent was lost 252 limit: 2 253 254 - label: "No random device" 255 command: "libcxx/utils/ci/run-buildbot generic-no-random_device" 256 artifact_paths: 257 - "**/test-results.xml" 258 agents: 259 queue: "libcxx-builders" 260 retry: 261 automatic: 262 - exit_status: -1 # Agent was lost 263 limit: 2 264 265 - label: "No locale" 266 command: "libcxx/utils/ci/run-buildbot generic-no-localization" 267 artifact_paths: 268 - "**/test-results.xml" 269 agents: 270 queue: "libcxx-builders" 271 retry: 272 automatic: 273 - exit_status: -1 # Agent was lost 274 limit: 2 275 276 - label: "Benchmarks" 277 command: "libcxx/utils/ci/run-buildbot benchmarks" 278 artifact_paths: 279 - "**/test-results.xml" 280 agents: 281 queue: "libcxx-builders" 282 retry: 283 automatic: 284 - exit_status: -1 # Agent was lost 285 limit: 2 286 287 - label: "Documentation" 288 command: "libcxx/utils/ci/run-buildbot documentation" 289 artifact_paths: 290 - "**/test-results.xml" 291 agents: 292 queue: "libcxx-builders" 293 retry: 294 automatic: 295 - exit_status: -1 # Agent was lost 296 limit: 2 297 298 - label: "Legacy Lit configuration" 299 command: "libcxx/utils/ci/run-buildbot legacy-test-config" 300 artifact_paths: 301 - "**/test-results.xml" 302 agents: 303 queue: "libcxx-builders" 304 retry: 305 automatic: 306 - exit_status: -1 # Agent was lost 307 limit: 2 308 309 - label: "Legacy standalone build" 310 command: "libcxx/utils/ci/run-buildbot legacy-standalone" 311 artifact_paths: 312 - "**/test-results.xml" 313 agents: 314 queue: "libcxx-builders" 315 retry: 316 automatic: 317 - exit_status: -1 # Agent was lost 318 limit: 2 319 320 - label: "Unified standalone build" 321 command: "libcxx/utils/ci/run-buildbot unified-standalone" 322 artifact_paths: 323 - "**/test-results.xml" 324 agents: 325 queue: "libcxx-builders" 326 retry: 327 automatic: 328 - exit_status: -1 # Agent was lost 329 limit: 2 330 331 - label: "Runtimes build" 332 command: "libcxx/utils/ci/run-buildbot runtimes-build" 333 artifact_paths: 334 - "**/test-results.xml" 335 agents: 336 queue: "libcxx-builders" 337 retry: 338 automatic: 339 - exit_status: -1 # Agent was lost 340 limit: 2 341 342 - label: "Windows (DLL)" 343 command: "bash libcxx/utils/ci/run-buildbot windows-dll" 344 artifact_paths: 345 - "**/test-results.xml" 346 agents: 347 queue: "windows" 348 retry: 349 automatic: 350 - exit_status: -1 # Agent was lost 351 limit: 2 352 353 - label: "Windows (Static)" 354 command: "bash libcxx/utils/ci/run-buildbot windows-static" 355 artifact_paths: 356 - "**/test-results.xml" 357 agents: 358 queue: "windows" 359 retry: 360 automatic: 361 - exit_status: -1 # Agent was lost 362 limit: 2 363 364 - label: "MacOS C++20" 365 command: "libcxx/utils/ci/run-buildbot generic-cxx20" 366 artifact_paths: 367 - "**/test-results.xml" 368 - "**/*.abilist" 369 agents: 370 queue: "libcxx-builders-macos" 371 retry: 372 automatic: 373 - exit_status: -1 # Agent was lost 374 limit: 2 375 376 # Build with the configuration we use to generate libc++.dylib on Apple platforms 377 - label: "Apple system" 378 command: "libcxx/utils/ci/run-buildbot x86_64-apple-system" 379 artifact_paths: 380 - "**/test-results.xml" 381 agents: 382 queue: "libcxx-builders-macos" 383 retry: 384 automatic: 385 - exit_status: -1 # Agent was lost 386 limit: 2 387 388 - label: "Apple system -fno-exceptions" 389 command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-noexceptions" 390 artifact_paths: 391 - "**/test-results.xml" 392 agents: 393 queue: "libcxx-builders-macos" 394 retry: 395 automatic: 396 - exit_status: -1 # Agent was lost 397 limit: 2 398 399 # Test back-deployment to older Apple platforms 400 - label: "Apple back-deployment macosx10.9" 401 command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-backdeployment-10.9" 402 artifact_paths: 403 - "**/test-results.xml" 404 agents: 405 queue: "libcxx-builders-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 406 retry: 407 automatic: 408 - exit_status: -1 # Agent was lost 409 limit: 2 410 411 - label: "Apple back-deployment macosx10.15" 412 command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-backdeployment-10.15" 413 artifact_paths: 414 - "**/test-results.xml" 415 agents: 416 queue: "libcxx-builders-macos10.15" 417 retry: 418 automatic: 419 - exit_status: -1 # Agent was lost 420 limit: 2 421 422 - label: "AArch64" 423 command: "libcxx/utils/ci/run-buildbot aarch64" 424 artifact_paths: 425 - "**/test-results.xml" 426 agents: 427 queue: "libcxx-builders-linaro-arm" 428 arch: "aarch64" 429 retry: 430 automatic: 431 - exit_status: -1 # Agent was lost 432 limit: 2 433 434 - label: "AArch64 -fno-exceptions" 435 command: "libcxx/utils/ci/run-buildbot aarch64-noexceptions" 436 artifact_paths: 437 - "**/test-results.xml" 438 agents: 439 queue: "libcxx-builders-linaro-arm" 440 arch: "aarch64" 441 retry: 442 automatic: 443 - exit_status: -1 # Agent was lost 444 limit: 2 445 446 - label: "Armv8" 447 command: "libcxx/utils/ci/run-buildbot armv8" 448 artifact_paths: 449 - "**/test-results.xml" 450 agents: 451 queue: "libcxx-builders-linaro-arm" 452 arch: "armv8l" 453 retry: 454 automatic: 455 - exit_status: -1 # Agent was lost 456 limit: 2 457 458 - label: "Armv8 -fno-exceptions" 459 command: "libcxx/utils/ci/run-buildbot armv8-noexceptions" 460 artifact_paths: 461 - "**/test-results.xml" 462 agents: 463 queue: "libcxx-builders-linaro-arm" 464 arch: "armv8l" 465 retry: 466 automatic: 467 - exit_status: -1 # Agent was lost 468 limit: 2 469 470 - label: "Armv7" 471 command: "libcxx/utils/ci/run-buildbot armv7" 472 artifact_paths: 473 - "**/test-results.xml" 474 agents: 475 queue: "libcxx-builders-linaro-arm" 476 arch: "armv8l" # Compiling for v7, running on v8 hardware 477 retry: 478 automatic: 479 - exit_status: -1 # Agent was lost 480 limit: 2 481 482 - label: "Armv7 -fno-exceptions" 483 command: "libcxx/utils/ci/run-buildbot armv7-noexceptions" 484 artifact_paths: 485 - "**/test-results.xml" 486 agents: 487 queue: "libcxx-builders-linaro-arm" 488 arch: "armv8l" # Compiling for v7, running on v8 hardware 489 retry: 490 automatic: 491 - exit_status: -1 # Agent was lost 492 limit: 2 493