From 7598b1b21d04c6fa64fa46bc2d98c906142af29e Mon Sep 17 00:00:00 2001 From: Martin Heistermann <git@mheistermann.de> Date: Sat, 15 Feb 2025 18:19:22 +0100 Subject: [PATCH] try to create CI template --- templates/vs22-cmake.yaml | 89 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 templates/vs22-cmake.yaml diff --git a/templates/vs22-cmake.yaml b/templates/vs22-cmake.yaml new file mode 100644 index 0000000..ca84409 --- /dev/null +++ b/templates/vs22-cmake.yaml @@ -0,0 +1,89 @@ +spec: + inputs: + stage: + default: test +--- +component-job: + script: echo job 1 + + + + +.job-template-windows: + stage: $[[ inputs.stage ]] + #image: $CI_REGISTRY_IMAGE:windows-vs17-rel-latest + image: gitlab.inf.unibe.ch:5001/cgg-public/containers/buildbox-windows:x64-vs2022-latest + variables: + CL_NAME: "cl" + TOOLSET: "v143" + VCPKG_ROOT: "C:/Tools/vcpkg/" + tags: + - cgg + - win22 + - docker-windows + variables: + BUILD_TYPE: Release # Debug currently fails with an internal LLVM error + #CL_NAME: clang-cl + CL_NAME: cl + TOOLSET: "v143" + before_script: + #- '&${Env:CLCACHE} -s' + #- '${Env:CLCACHE_CL}=Get-Command "${ENV:CL_NAME}" | Select-Object -expand Source' + # -Force prevents an error if the directory already exists. + - 'md ${Env:VCPKG_DEFAULT_BINARY_CACHE} -ea 0 -Force' + - 'md ${Env:CCACHE_DIR} -ea 0 -Force' + - 'md ${Env:CHOCO_CACHE} -ea 0 -Force' + - '$buildDir="build-${Env:CI_JOB_NAME}"' + - 'mkdir $buildDir > $null' + - 'ccache -s -v' + - 'cd $buildDir' + artifacts: + when: always + reports: + junit: build-${CI_JOB_NAME}/test-report-${BUILD_TYPE}.xml + + + +.job-template-windows-msbuild: + extends: .job-template-windows + script: + - '$cmakeGenerator="Visual Studio 17 2022"' + - 'echo "Toolset: ${Env:TOOLSET}"' + - > + cmake -G "${cmakeGenerator}" .. + -T "${Env:TOOLSET}" + -A x64 + -DCMAKE_TOOLCHAIN_FILE=C:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake + -DCOMISO_ENABLE_METIS=OFF + - 'if(!$?) { throw "cmake failed" }' + - > + cmake --build . + --config "${Env:BUILD_TYPE}" + -- + /nologo + /verbosity:minimal + /maxcpucount + /p:TrackFileAccess=false + #/p:CLToolExe=ccache.exe + - 'if(!$?) { throw "build failed" }' + - 'ctest --output-junit test-report-${Env:BUILD_TYPE}.xml' + - 'if(!$?) { throw "tests failed" }' + + +.job-template-windows-ninja: + extends: .job-template-windows + script: + - > + cmake -G Ninja .. + -DCMAKE_BUILD_TYPE="${Env:BUILD_TYPE}" + -DCMAKE_TOOLCHAIN_FILE=C:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache + -DCOMISO_ENABLE_METIS=OFF + + - 'if(!$?) { throw "cmake failed" }' + - 'cmake --build .' + - 'if(!$?) { throw "build failed" }' + - 'ctest --output-junit test-report-${Env:BUILD_TYPE}.xml' + - 'if(!$?) { throw "tests failed" }' + - 'ccache -s' + -- GitLab