| #===----------------------------------------------------------------------===## |
| # |
| # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| # See https://llvm.org/LICENSE.txt for license information. |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| # |
| #===----------------------------------------------------------------------===## |
| |
| # |
| # This file describes the various pre-commit CI bots used to test libc++. |
| # |
| # This file should never contain logic -- all the logic must be offloaded |
| # into scripts. This is critical to being able to reproduce CI issues outside |
| # of the CI environment, which is important for debugging. |
| # |
| |
| steps: |
| - label: "Format" |
| command: "libcxx/utils/ci/run-buildbot check-format" |
| artifact_paths: |
| - "**/clang-format.patch" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| soft_fail: |
| - exit_status: 1 |
| |
| - label: "Generated output" |
| command: "libcxx/utils/ci/run-buildbot check-generated-output" |
| artifact_paths: |
| - "**/generated_output.patch" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| # All jobs defined before this `wait` will run whenever a CI job is started. |
| # Jobs defined after the `wait` will run only if all the jobs above |
| # succeeded. The build failures before this `wait` can be fixed by running |
| # the proper scripts or clang-format. We use this to reduce the load on the |
| # testers and avoid running builds that we know fail anyway. |
| - wait |
| |
| - label: "C++03" |
| command: "libcxx/utils/ci/run-buildbot generic-cxx03" |
| artifact_paths: |
| - "**/test-results.xml" |
| - "**/*.abilist" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "C++11" |
| command: "libcxx/utils/ci/run-buildbot generic-cxx11" |
| artifact_paths: |
| - "**/test-results.xml" |
| - "**/*.abilist" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "C++14" |
| command: "libcxx/utils/ci/run-buildbot generic-cxx14" |
| artifact_paths: |
| - "**/test-results.xml" |
| - "**/*.abilist" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "C++17" |
| command: "libcxx/utils/ci/run-buildbot generic-cxx17" |
| artifact_paths: |
| - "**/test-results.xml" |
| - "**/*.abilist" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "C++20" |
| command: "libcxx/utils/ci/run-buildbot generic-cxx20" |
| artifact_paths: |
| - "**/test-results.xml" |
| - "**/*.abilist" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "C++2b" |
| command: "libcxx/utils/ci/run-buildbot generic-cxx2b" |
| artifact_paths: |
| - "**/test-results.xml" |
| - "**/*.abilist" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "-fno-exceptions" |
| command: "libcxx/utils/ci/run-buildbot generic-noexceptions" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Static libraries" |
| command: "libcxx/utils/ci/run-buildbot generic-static" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "GCC/C++20" |
| command: "libcxx/utils/ci/run-buildbot generic-gcc" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "ASAN" |
| command: "libcxx/utils/ci/run-buildbot generic-asan" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "TSAN" |
| command: "libcxx/utils/ci/run-buildbot generic-tsan" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "UBSAN" |
| command: "libcxx/utils/ci/run-buildbot generic-ubsan" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "With LLVM's libunwind" |
| command: "libcxx/utils/ci/run-buildbot generic-with_llvm_unwinder" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Single-threaded" |
| command: "libcxx/utils/ci/run-buildbot generic-singlethreaded" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "No debug mode" |
| command: "libcxx/utils/ci/run-buildbot generic-no-debug" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "No Filesystem" |
| command: "libcxx/utils/ci/run-buildbot generic-no-filesystem" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "No random device" |
| command: "libcxx/utils/ci/run-buildbot generic-no-random_device" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "No locale" |
| command: "libcxx/utils/ci/run-buildbot generic-no-localization" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "MacOS C++20" |
| command: "libcxx/utils/ci/run-buildbot generic-cxx20" |
| artifact_paths: |
| - "**/test-results.xml" |
| - "**/*.abilist" |
| agents: |
| queue: "libcxx-builders-macos" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Benchmarks" |
| command: "libcxx/utils/ci/run-buildbot benchmarks" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Documentation" |
| command: "libcxx/utils/ci/run-buildbot documentation" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Legacy standalone build" |
| command: "libcxx/utils/ci/run-buildbot legacy-standalone" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Unified standalone build" |
| command: "libcxx/utils/ci/run-buildbot unified-standalone" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Runtimes build" |
| command: "libcxx/utils/ci/run-buildbot runtimes-build" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Windows" |
| # TODO: The CI runner doesn't have bash in the path currently. Once it |
| # has that, remove the absolute path and just call 'bash' here. |
| command: "\"\\Program Files\\Git\\usr\\bin\\bash\" libcxx/utils/ci/run-buildbot generic-win" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "windows" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| # All jobs defined before this `wait` will run whenever a CI job is started. |
| # Jobs defined after the `wait` will run only if all the jobs above succeeded. |
| # We use this to reduce the load on testers that have more constrained resources |
| # and avoid running builds that we know fail anyway. |
| - wait |
| |
| # Build with the configuration we use to generate libc++.dylib on Apple platforms |
| - label: "Apple system" |
| command: "libcxx/utils/ci/run-buildbot x86_64-apple-system" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders-macos" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Apple system -fno-exceptions" |
| command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-noexceptions" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders-macos" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| # Test back-deployment to older Apple platforms |
| - label: "Apple back-deployment macosx10.9" |
| command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-backdeployment-10.9" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| 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 |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Apple back-deployment macosx10.15" |
| command: "libcxx/utils/ci/run-buildbot x86_64-apple-system-backdeployment-10.15" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders-macos10.15" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "AArch64" |
| command: "libcxx/utils/ci/run-buildbot aarch64" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders-linaro-arm" |
| arch: "aarch64" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "AArch64 -fno-exceptions" |
| command: "libcxx/utils/ci/run-buildbot aarch64-noexceptions" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders-linaro-arm" |
| arch: "aarch64" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Armv8" |
| command: "libcxx/utils/ci/run-buildbot armv8" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders-linaro-arm" |
| arch: "armv8l" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Armv8 -fno-exceptions" |
| command: "libcxx/utils/ci/run-buildbot armv8-noexceptions" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders-linaro-arm" |
| arch: "armv8l" |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Armv7" |
| command: "libcxx/utils/ci/run-buildbot armv7" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders-linaro-arm" |
| arch: "armv8l" # Compiling for v7, running on v8 hardware |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |
| |
| - label: "Armv7 -fno-exceptions" |
| command: "libcxx/utils/ci/run-buildbot armv7-noexceptions" |
| artifact_paths: |
| - "**/test-results.xml" |
| agents: |
| queue: "libcxx-builders-linaro-arm" |
| arch: "armv8l" # Compiling for v7, running on v8 hardware |
| retry: |
| automatic: |
| - exit_status: -1 # Agent was lost |
| limit: 2 |