linphone-desktop/.gitlab-ci-files/job-windows-desktop.yml
Julien Wadel 922d155146 - Enable G729 in CI.
- Update translations.
- Option to enable chat notifications.
2022-01-06 13:22:30 +01:00

127 lines
3.5 KiB
YAML

#################################################
# BUILD
#################################################
#Remove MinGW of MSYS from PATH and add MINGW_TYPE for MSYS2
.build_all_windows_script: &build_all_windows_script |
SET PATH_TEMP=%PATH:C:\MinGW\bin;=%
SET PATH_TEMP=%PATH_TEMP:C:\Strawberry\c\bin;=%
SET PATH_TEMP=%PATH_TEMP:C:\Strawberry\perl\bin;=%
SET PATH_TEMP=%PATH_TEMP:C:\Program Files\NASM=%
SET Qt5_DIR=C:\Qt\5.14.2\msvc2017\lib\cmake
SET PATH=%PATH_TEMP%;C:\Qt\5.14.2\msvc2017\bin;C:\msys64;C:\msys64\usr\bin;C:\msys64\%MINGW_TYPE%\bin;
IF EXIST build RMDIR /S /Q build
mkdir build
cd build
mkdir OUTPUT
C:\PROGRA~1\Python37\Scripts\cl -s
cmake .. -G "Visual Studio 15 2017" -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_BUILD_TYPE=%CI_BUILD_TYPE% %DEFAULT_WINDOWS_CMAKE_OPTIONS% %CMAKE_OPTIONS%
cmake --build . --target install --config %CI_BUILD_TYPE% %LBC_NODEBUG_OPTIONS% -- /maxcpucount /nodeReuse:true /p:TrackFileAccess=false
C:\PROGRA~1\Python37\Scripts\cl -s
.job-windows-vs2017:
extends: .job-prepare
stage: build
tags: [ "windows" ]
variables:
CMAKE_OPTIONS: -DENABLE_LIME_X3DH=NO -DENABLE_UNIT_TESTS=ON -DLINPHONE_WINDOWS_SIGNING_DIR=$WINDOWS_SIGNING_DIRECTORY -DENABLE_G729=ON
MINGW_TYPE: mingw32
script:
- *build_all_windows_script
artifacts:
paths:
- build\OUTPUT
when: always
expire_in: 2 days
job-windows-vs2017:
except:
refs:
- schedules
extends: .job-windows-vs2017
#################################################
# NIGHTLY
#################################################
.job-windows-vs2017-scheduled:
only:
variables:
- $NIGHTLY_MASTER
- $NIGHTLY_RELEASE
- $DEPLOY_PLUGINS
before_script:
#cache disabled on scheduled builds since we dot not need the fastest build
- set "CLCACHE_DISABLE=1"
extends: .job-windows-vs2017
job-windows-vs2017-scheduled:
extends: .job-windows-vs2017-scheduled
job-windows-vs2017-novideo:
extends: .job-windows-vs2017-scheduled
except:
variables:
- $DEPLOY_PLUGINS
variables:
CMAKE_OPTIONS: -DENABLE_LIME_X3DH=NO -DENABLE_VIDEO=NO
#################################################
# PACKAGE
#################################################
#Remove . when packaging process is ready to use
job-windows-vs2017-package:
stage: package
tags: [ "windows" ]
dependencies: []
only:
variables:
- $NIGHTLY_MASTER
- $PACKAGE_WINDOWS
- $DEPLOY_WINDOWS
variables:
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_WINDOWS_SIGNING_DIR=$WINDOWS_SIGNING_DIRECTORY -DENABLE_G729=ON
MINGW_TYPE: mingw32
script:
- *build_all_windows_script
- C:\PROGRA~1\Python37\Scripts\cl -s
artifacts:
paths:
- build\OUTPUT
when: always
expire_in: 1 weeks
#################################################
# DEPLOY
#################################################
job-windows-vs2017-win32-upload:
stage: deploy
tags: [ "windows"]
only:
variables:
- $NIGHTLY_MASTER
- $DEPLOY_WINDOWS
needs:
- job-windows-vs2017-package
script:
- scp "build/OUTPUT/Packages/*.exe" "%DEPLOY_SERVER%:%WINDOWS_UPLOAD_DIRECTORY%"
job-windows-vs2017-plugins-upload:
stage: deploy
tags: [ "windows"]
only:
variables:
- $DEPLOY_PLUGINS
needs:
- job-windows-vs2017-scheduled
script:
- scp "build/OUTPUT/plugins/app/*.dll" "%DEPLOY_SERVER%:%WINDOWS_UPLOAD_DIRECTORY%/plugins"