From 0eebd0a0e3c6711ebfa4c27244a6f4087b2a6fff Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 29 May 2020 11:22:48 -0400 Subject: 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. --- .gitlab-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8c0e9bf..e7440f2 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 -- cgit v0.12