diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1f8bc64175..c1d6b5753e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,26 +41,98 @@ MacOS: paths: - build/OpenMW-*.dmg -Windows: +Windows_Ninja_RelWithDebInfo: tags: - windows + before_script: + - Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1" + - choco install git --force --params "/GitAndUnixToolsOnPath" -y + - choco install 7zip -y + - choco install cmake.install --installargs 'ADD_CMAKE_TO_PATH=System' -y + - choco install vswhere -y + - choco install ninja -y + - choco install python -y + - refreshenv stage: build allow_failure: true script: - - Set-Variable -Name "time" -Value (date -Format "%H:%m") + - $time = (Get-Date -Format "HH:mm:ss") + - $config = "RelWithDebInfo" - echo ${time} - echo "started by ${GITLAB_USER_NAME}" -# TODO: to anyone wanting to do further work here, we need to figure out how to get the below working -# TODO: on gitlab's new shared windows runners. They currently don't have bash or anything else installed -# TODO: it is currently just a bare windows 10 with powershell. -# - env # turn on for debugging -# - sh %CI_PROJECT_DIR%/CI/before_script.msvc.sh -c Release -p x64 -v 2017 -V -# - SET msBuildLocation="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\msbuild.exe" -# - call %msBuildLocation% MSVC2017_64\OpenMW.sln /t:Build /p:Configuration=Release /m:%NUMBER_OF_PROCESSORS% -# - 7z a OpenMW_MSVC2017_64_%CI_BUILD_REF_NAME%_%CI_BUILD_ID%.zip %CI_PROJECT_DIR%\MSVC2017_64\Release\ + - sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V -N + - cd MSVC2019_64_Ninja + - .\ActivateMSVC.ps1 + - cmake --build . --config $config + - cd $config + - | + if (Get-ChildItem -Recurse *.pdb) { + 7z a -tzip ..\..\OpenMW_MSVC2019_64_${CIBuildRefName}_${CIBuildID}_symbols.zip '*.pdb' + Get-ChildItem -Recurse *.pdb | Remove-Item + } + - 7z a -tzip ..\..\OpenMW_MSVC2019_64_${CIBuildRefName}_${CIBuildID}.zip '*' cache: paths: - deps + - MSVC2019_64_Ninja/deps artifacts: + when: always paths: - - "*.zip" + - "*.zip" - "*.log" + - MSVC2019_64_Ninja/* + - MSVC2019_64_Ninja/*.log + - MSVC2019_64_Ninja/*/*.log + - MSVC2019_64_Ninja/*/*/*.log + - MSVC2019_64_Ninja/*/*/*/*.log + - MSVC2019_64_Ninja/*/*/*/*/*.log + - MSVC2019_64_Ninja/*/*/*/*/*/*.log + - MSVC2019_64_Ninja/*/*/*/*/*/*/*.log + - MSVC2019_64_Ninja/*/*/*/*/*/*/*/*.log + + +Windows_MSBuild_RelWithDebInfo: + tags: + - windows + before_script: + - Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1" + - choco install git --force --params "/GitAndUnixToolsOnPath" -y + - choco install 7zip -y + - choco install cmake.install --installargs 'ADD_CMAKE_TO_PATH=System' -y + - choco install vswhere -y + - choco install python -y + - refreshenv + stage: build + allow_failure: true + script: + - $time = (Get-Date -Format "HH:mm:ss") + - $config = "RelWithDebInfo" + - echo ${time} + - echo "started by ${GITLAB_USER_NAME}" + - sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V + - cd MSVC2019_64 + - .\ActivateMSVC.ps1 + - cmake --build . --config $config + - cd $config + - | + if (Get-ChildItem -Recurse *.pdb) { + 7z a -tzip ..\..\OpenMW_MSVC2019_64_${CIBuildRefName}_${CIBuildID}_symbols.zip '*.pdb' + Get-ChildItem -Recurse *.pdb | Remove-Item + } + - 7z a -tzip ..\..\OpenMW_MSVC2019_64_${CIBuildRefName}_${CIBuildID}.zip '*' + cache: + paths: + - deps + - MSVC2019_64/deps + artifacts: + when: always + paths: + - "*.zip" - "*.log" + - MSVC2019_64/* + - MSVC2019_64/*.log + - MSVC2019_64/*/*.log + - MSVC2019_64/*/*/*.log + - MSVC2019_64/*/*/*/*.log + - MSVC2019_64/*/*/*/*/*.log + - MSVC2019_64/*/*/*/*/*/*.log + - MSVC2019_64/*/*/*/*/*/*/*.log + - MSVC2019_64/*/*/*/*/*/*/*/*.log \ No newline at end of file