gitlab-ci: pin windows and macos jobs to runners with matching toolsets

The toolsets available on machines hosting shell runners will evolve
over time.  Require the runners to have tags indicating that they have
specific toolsets available.  When toolsets are eventually removed from
a runner, its tags can then be updated accordingly to prevent pipelines
created for old commits from ever running on them.
This commit is contained in:
Brad King
2020-05-28 15:11:36 -04:00
parent 25b63e06a1
commit 0d5a1fd6e2
2 changed files with 7 additions and 2 deletions

View File

@@ -117,7 +117,8 @@
variables:
CMAKE_CONFIGURATION: windows_vs2019_x64_ninja
VCVARSALL: "${VS160COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
VCVARSPLATFORM: x64
VCVARSPLATFORM: "x64"
VCVARSVERSION: "14.25"
.windows_vs2019_x64: &windows_vs2019_x64
extends: .windows
@@ -126,6 +127,7 @@
CMAKE_CONFIGURATION: windows_vs2019_x64
CMAKE_GENERATOR: "Visual Studio 16 2019"
CMAKE_GENERATOR_PLATFORM: "x64"
CMAKE_GENERATOR_TOOLSET: "v142,version=14.25"
.linux_builder_tags: &linux_builder_tags
tags:
@@ -145,12 +147,15 @@
- cmake # Since this is a bare runner, pin to a project.
- macos
- shell
- xcode-11.3
.windows_builder_tags: &windows_builder_tags
tags:
- cmake # Since this is a bare runner, pin to a project.
- windows
- shell
- vs2019
- msvc-19.25
.before_script_unix: &before_script_unix
- .gitlab/ci/cmake.sh

View File

@@ -1,6 +1,6 @@
$erroractionpreference = "stop"
cmd /c "`"$env:VCVARSALL`" $VCVARSPLATFORM & set" |
cmd /c "`"$env:VCVARSALL`" $VCVARSPLATFORM -vcvars_ver=$VCVARSVERSION & set" |
foreach {
if ($_ -match "=") {
$v = $_.split("=")