summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-05-29 11:22:48 -0400
committerBrad King <brad.king@kitware.com>2020-05-29 11:23:16 -0400
commit0eebd0a0e3c6711ebfa4c27244a6f4087b2a6fff (patch)
tree0d0aa64500f818064f5ef57477cd814a29426e7c /.gitlab-ci.yml
parent1336d11d9ceabf070b75816b91c7ae9459f0817c (diff)
downloadcmake-0eebd0a0e3c6711ebfa4c27244a6f4087b2a6fff.tar.gz
gitlab-ci: pin macOS and Windows jobs to nonconcurrent runners
On macOS and Windows, our jobs use a `GIT_CLONE_PATH` that does not contain `$CI_CONCURRENCY_ID` so that the build and test jobs always use the same path. Since we use shell runners for these platforms, all concurrent jobs would use the same path and conflict. Therefore we can only use runners with a concurrency level of 1 for jobs in the `build` and `test` stages. However, jobs in the `test-ext` stage configure a new build tree for the tests and therefore can use `$CI_CONCURRENCY_ID` and support shell runners with higher concurrency levels. Prepare to make that distinction in the future by pinning all jobs to runners with a `nonconcurrent` tag.
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml4
1 files changed, 4 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8c0e9bf1f7..e7440f237b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -148,6 +148,8 @@
- macos
- shell
- xcode-11.5
+ - nonconcurrent # Use runners without concurrency for fixed GIT_CLONE_PATH.
+ # TODO: Use "concurrent" and "nonconcurrent" on individual jobs.
.windows_builder_tags: &windows_builder_tags
tags:
@@ -156,6 +158,8 @@
- shell
- vs2019
- msvc-19.25
+ - nonconcurrent # Use runners without concurrency for fixed GIT_CLONE_PATH.
+ # TODO: Use "concurrent" and "nonconcurrent" on individual jobs.
.before_script_unix: &before_script_unix
- .gitlab/ci/cmake.sh