[libcxx-commits] [libcxx] 2704d0a - [libc++][ci] Re-split the CI pipeline to try and reduce load on more builders
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Apr 20 05:38:13 PDT 2021
Author: Louis Dionne
Date: 2021-04-20T08:37:52-04:00
New Revision: 2704d0a70172f5b57dd2bebcc173d4c9cec082d3
URL: https://github.com/llvm/llvm-project/commit/2704d0a70172f5b57dd2bebcc173d4c9cec082d3
DIFF: https://github.com/llvm/llvm-project/commit/2704d0a70172f5b57dd2bebcc173d4c9cec082d3.diff
LOG: [libc++][ci] Re-split the CI pipeline to try and reduce load on more builders
Added:
Modified:
libcxx/utils/ci/buildkite-pipeline.yml
Removed:
################################################################################
diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
index 5a74a01fa6f90..6dfb1bfb5f396 100644
--- a/libcxx/utils/ci/buildkite-pipeline.yml
+++ b/libcxx/utils/ci/buildkite-pipeline.yml
@@ -13,8 +13,15 @@
# into scripts. This is critical to being able to reproduce CI issues outside
# of the CI environment, which is important for debugging.
#
+# It is also worth noting that this script is split into several sections, the
+# goal being to reduce the load on testers when a commit is known to fail.
+#
steps:
+ #
+ # Light pre-commit tests for things like formatting or when people forget
+ # to update generated files.
+ #
- label: "Format"
command: "libcxx/utils/ci/run-buildbot check-format"
artifact_paths:
@@ -39,11 +46,11 @@ steps:
- 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.
+ #
+ # General testing with the default configuration, under all the supported
+ # Standard modes, with Clang and GCC and on Apple. This catches most issues
+ # upfront.
+ #
- wait
- label: "C++03"
@@ -118,8 +125,20 @@ steps:
- exit_status: -1 # Agent was lost
limit: 2
- - label: "-fno-exceptions"
- command: "libcxx/utils/ci/run-buildbot generic-noexceptions"
+ - 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: "GCC/C++20"
+ command: "libcxx/utils/ci/run-buildbot generic-gcc"
artifact_paths:
- "**/test-results.xml"
agents:
@@ -129,8 +148,13 @@ steps:
- exit_status: -1 # Agent was lost
limit: 2
- - label: "Static libraries"
- command: "libcxx/utils/ci/run-buildbot generic-static"
+ #
+ # All other supported configurations of libc++.
+ #
+ - wait
+
+ - label: "-fno-exceptions"
+ command: "libcxx/utils/ci/run-buildbot generic-noexceptions"
artifact_paths:
- "**/test-results.xml"
agents:
@@ -140,8 +164,8 @@ steps:
- exit_status: -1 # Agent was lost
limit: 2
- - label: "GCC/C++20"
- command: "libcxx/utils/ci/run-buildbot generic-gcc"
+ - label: "Static libraries"
+ command: "libcxx/utils/ci/run-buildbot generic-static"
artifact_paths:
- "**/test-results.xml"
agents:
@@ -250,18 +274,6 @@ steps:
- 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:
@@ -330,12 +342,6 @@ steps:
- 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"
More information about the libcxx-commits
mailing list