diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ead453be2fd71490a12f0817ad09c6c1b44261e0..1818154ab3522b9931516ee1a7ac905fda8c6cc3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,14 +1,23 @@ stages: - - builder-container + - build-container - component - test - release include: + tags: + - cgg + - win22 + - docker-windows # include the component located in the current project from the current SHA - component: $CI_SERVER_FQDN/$CI_PROJECT_PATH/vs22-cmake@$CI_COMMIT_SHA inputs: stage: component + job-name: + tags: + - cgg + - win22 + - docker-windows .template-docker-windows: tags: @@ -61,6 +70,7 @@ include: x64-vs2022: + stage: build-container extends: .template-docker-windows variables: TAG_PREFIX: "x64-vs2022-" @@ -87,6 +97,7 @@ ensure-job-added: echo "Component Job present" fi + # If the pipeline is for a new tag with a semantic version, and all previous jobs succeed, # create the release. create-release: diff --git a/templates/vs22-cmake.yml b/templates/vs22-cmake.yml index ca844095a96bf38e18379e2ff909292f3a893e78..50369760e754ce5bb456b100b96a213e047c5e8a 100644 --- a/templates/vs22-cmake.yml +++ b/templates/vs22-cmake.yml @@ -2,11 +2,20 @@ spec: inputs: stage: default: test + BUILD_TYPE: + default: Release + tags: + default: [] + job-name: + description: "The job's name" + default: vs22-x64 --- component-job: + stage: $[[ inputs.stage ]] + tags: $[[ inputs.tags ]] script: echo job 1 - + .job-template-windows: @@ -17,10 +26,7 @@ component-job: CL_NAME: "cl" TOOLSET: "v143" VCPKG_ROOT: "C:/Tools/vcpkg/" - tags: - - cgg - - win22 - - docker-windows + tags: $[[ inputs.tags ]] variables: BUILD_TYPE: Release # Debug currently fails with an internal LLVM error #CL_NAME: clang-cl @@ -87,3 +93,10 @@ component-job: - 'if(!$?) { throw "tests failed" }' - 'ccache -s' + +"$[[ inputs.job-name ]]": + extends: + - .job-template-windows-ninja + variables: + BUILD_TYPE: Release +