Renamed windows jobs for more clarity and moved/removed unrelated variables

This commit is contained in:
Peio Rigaux 2024-09-19 18:21:16 +02:00
parent 12c00cfcbe
commit 8cc2b9367c

View file

@ -9,11 +9,14 @@
- if: $CI_PIPELINE_SOURCE == "merge_request_event" && $DOCKER_UPDATE == null && $SKIP_WINDOWS == null
- if: $CI_PIPELINE_SOURCE == "schedule" && $DOCKER_UPDATE == null && $SKIP_WINDOWS == null
variables:
CMAKE_OPTIONS: -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DLINPHONE_WINDOWS_SIGN_HASH=$WINDOWS_SIGN_HASH -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
CMAKE_OPTIONS: -DENABLE_UNIT_TESTS=ON -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DLINPHONE_WINDOWS_SIGN_HASH=$WINDOWS_SIGN_HASH -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
LINPHONESDK_PLATFORM: Desktop
OUTPUT_ZIP_FOLDER: win64
MINGW_TYPE: mingw64
CMAKE_ARCHITECTURE : -A x64
BUILD_TARGET: install
CMAKE_C_COMPILER : cl.exe
CMAKE_CXX_COMPILER : cl.exe
CMAKE_RC_COMPILER : rc.exe
script:
- if ($MAKE_RELEASE_FILE_URL) { } else { $RELEASE_FILE = "" }
@ -64,7 +67,7 @@
# /!\ By design, we must keep $NINJA_OPTIMIZATION as the last option of the line, because it contains an output redirect
- echo $LastExitCode
- Invoke-Expression "cmake --build . --target $BUILD_TARGET --config $CI_BUILD_TYPE $PARALLEL_OPTIONS $NINJA_OPTIMIZATION"
- if ($EXITS_ON_ERROR_MSVC) { Invoke-Expression "$EXITS_ON_ERROR_MSVC" } else { Write-Output "EXITS_ON_ERROR_MSVC is null" }
- if ($EXITS_ON_ERROR_MSBUILD) { Invoke-Expression "$EXITS_ON_ERROR_MSBUILD" } else { Write-Output "EXITS_ON_ERROR_MSBUILD is null" }
- if ($DISPLAY_NINJA_LOG) { Invoke-Expression "$DISPLAY_NINJA_LOG" } else { Write-Output "DISPLAY_NINJA_LOG is null" }
- if ($SEARCH_NINJA_ERROR) { Invoke-Expression "$SEARCH_NINJA_ERROR" } else { Write-Output "SEARCH_NINJA_ERROR is null" }
- if ($DISPLAY_SEARCH_STATUS) { Invoke-Expression "$DISPLAY_SEARCH_STATUS" } else { Write-Output "DISPLAY_SEARCH_STATUS is null" }
@ -84,21 +87,34 @@
when: always
expire_in: 1 week
.windows-vs2022:
extends: .windows-vs
tags: [ "windows-powershell-vs-17-2022" ]
.windows-msvc:
.windows-msbuild-variables:
variables:
CMAKE_OPTIONS: -DENABLE_UNIT_TESTS=ON -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DLINPHONE_WINDOWS_SIGN_HASH=$WINDOWS_SIGN_HASH -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
LINPHONESDK_PLATFORM: Desktop
BUILD_TARGET: install
PARALLEL_OPTIONS: "-- /maxcpucount /nodeReuse:true /p:TrackFileAccess=false"
EXITS_ON_ERROR_MSVC: 'if (-not ($$LastExitCode -eq 0)) {throw "Error: Build failed"}'
EXITS_ON_ERROR_MSBUILD: 'if (-not ($$LastExitCode -eq 0)) {throw "Error: Build failed"}'
CMAKE_ARCHITECTURE : -A x64
.windows-ninja-variables:
variables:
CLI_OUTPUT_INFO_NINJA: Write-Output -NoEnumerate "Building with Ninja. See ninja_buildlog.txt to get details before completing the build."
NINJA_BUILD_PARALLEL_LEVEL: -DCMAKE_BUILD_PARALLEL_LEVEL=$WINDOWS_PARALLEL_JOBS
PARALLEL_OPTIONS: "--parallel $WINDOWS_PARALLEL_JOBS"
NINJA_OPTIMIZATION: "| find /V \"inclusion du fichier\" > ninja_buildlog.txt; cmd /c \"exit /b 0\""
NINJA_EXPLICIT_COMPILER_SET: -DCMAKE_C_COMPILER="$CMAKE_C_COMPILER" -DCMAKE_CXX_COMPILER="$CMAKE_CXX_COMPILER" -DCMAKE_RC_COMPILER="$CMAKE_RC_COMPILER"
DISPLAY_NINJA_LOG: Get-Content ninja_buildlog.txt
SEARCH_NINJA_ERROR: 'Write-Output "`$$isFound = (Select-String -Pattern `"build stopped: subcommand failed`" -SimpleMatch -Quiet -Path ninja_buildlog.txt)" > invertSearch.ps1'
DISPLAY_SEARCH_STATUS: Write-Output 'echo $$isFound' >> invertSearch.ps1
SET_EXIT_CODE_BASED_ON_SEARCH_STATUS: Write-Output -NoEnumerate "If (`$(echo `$$isFound) -eq `"True`") {throw `"There was an error in the build`"} else {exit 0}" >> invertSearch.ps1
SHOW_SEARCH_STATUS_SCRIPT: Get-Content invertSearch.ps1
LAUNCH_SEARCH_STATUS_SCRIPT: .\invertSearch.ps1
CMAKE_GENERATOR: "Ninja"
.windows-msvc-scheduled:
extends: .windows-msvc
.windows-msbuild-scheduled:
extends: .windows-msbuild-variables
rules:
- if: $NIGHTLY_MASTER
- if: $NIGHTLY_RELEASE
@ -111,34 +127,23 @@
# On each push
######################################################
.msvc-win64-windows:
.win64-mr-rules:
rules:
- if: ($CI_PIPELINE_SOURCE == "merge_request_event") && $DOCKER_UPDATE == null && $SKIP_WINDOWS == null
variables:
CMAKE_C_COMPILER : cl.exe
CMAKE_CXX_COMPILER : cl.exe
CMAKE_RC_COMPILER : rc.exe
extends: .windows-msvc
vs2022-msvc-win64-windows:
win64-msbuild-vs2022-windows:
rules:
- !reference [.rules-merge-request-manual, rules]
variables:
CMAKE_GENERATOR: "Visual Studio 17 2022"
extends:
- .windows-vs2022
- .msvc-win64-windows
- .windows-msbuild-variables
- .win64-mr-rules
ninja-msvc-win64-windows:
rules:
- !reference [.rules-merge-request-manual, rules]
variables:
CMAKE_GENERATOR: "Ninja"
CMAKE_ARCHITECTURE: ""
PARALLEL_OPTIONS: ""
win64-ninja-vs2022-windows:
extends:
- .windows-vs2022
- .msvc-win64-windows
- .windows-ninja-variables
- .win64-mr-rules
######################################################
# NIGHTLY
@ -153,9 +158,9 @@ ninja-msvc-win64-windows:
- if: $DEPLOY_PLUGINS
- if: $DEPLOY_RUN_WINDOWS
ninja-win64-scheduled-windows:
win64-ninja-vs2022-scheduled-windows:
extends:
- ninja-msvc-win64-windows
- win64-ninja-vs2022-windows
- .vs-scheduled-windows
#################################################
@ -177,16 +182,16 @@ ninja-win64-scheduled-windows:
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DLINPHONE_WINDOWS_SIGN_HASH=$WINDOWS_SIGN_HASH -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
RELEASE_FILE: -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$WINDOWS_PLATFORM/$APP_FOLDER
ninja-win64-package:
win64-ninja-vs2022-package-windows:
variables:
CMAKE_GENERATOR: "Ninja"
CMAKE_ARCHITECTURE: ""
PARALLEL_OPTIONS: ""
extends:
- .windows-msvc
- .vs-win64-package
- .windows-vs2022
- .windows-ninja-variables
- .vs-win64-package
#################################################
# DEPLOY
#################################################
@ -203,11 +208,11 @@ ninja-win64-package:
- if ($MAKE_RELEASE_FILE_URL) { scp -pr build-desktop/OUTPUT/RELEASE ${DEPLOY_SERVER}:${UPLOAD_ROOT_INTERNAL_PATH}/${WINDOWS_PLATFORM}/ }
# - if ($MAKE_RELEASE_FILE_URL) { scp -pr build-desktop/OUTPUT/RELEASE ${MAIN_DEPLOY_SERVER}:${UPLOAD_ROOT_PATH}/${WINDOWS_PLATFORM}/ }
ninja-win64-upload:
win64-ninja-vs2022-upload:
extends:
- .win64-upload
needs:
- ninja-win64-package
- win64-ninja-vs2022-package-windows
.win64-plugins-upload:
stage: deploy
@ -217,7 +222,7 @@ ninja-win64-upload:
script:
- scp "build-desktop/OUTPUT/plugins/app/*.dll" "%DEPLOY_SERVER%:%WINDOWS_UPLOAD_INTERNAL_DIRECTORY%/plugins"
ninja-win64-plugins-upload:
win64-ninja-vs2022-plugins-upload:
extends: .win64-plugins-upload
needs:
- ninja-win64-scheduled-windows
- win64-ninja-vs2022-scheduled-windows