linphone-desktop/.gitlab-ci-files/linux-desktop-ubuntu-2204.yml
2025-12-19 21:01:40 +01:00

137 lines
4.2 KiB
YAML

.factorize_ubuntu2204: &docker_image_platform_and_runner_tag
tags: [ "docker" ]
image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-ubuntu-22-04-lts:$UBUNTU_2204_IMAGE_VERSION
ubuntu2204-ninja-gcc:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" && $DOCKER_UPDATE == null && $SKIP_LINUX == null
variables:
CMAKE_GENERATOR: Ninja
CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON
CC: gcc
CXX: g++
extends: .linux-desktop
<<: *docker_image_platform_and_runner_tag
#################################################
# Nightly
#################################################
ubuntu2204-makefile-gcc:
rules:
- !reference [.rules-merge-request-manual, rules]
- if: $NIGHTLY_MASTER
variables:
CMAKE_GENERATOR: Unix Makefiles
CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON
CC: gcc
CXX: g++
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
extends: .linux-desktop
<<: *docker_image_platform_and_runner_tag
ubuntu2204-ninja-clang:
rules:
- !reference [.rules-merge-request-manual, rules]
- if: $NIGHTLY_MASTER
variables:
CMAKE_OPTIONS: -DENABLE_DOC=ON -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=OFF
CMAKE_GENERATOR: Ninja
CC: clang
CXX: clang++
extends: .linux-desktop
allow_failure: true
<<: *docker_image_platform_and_runner_tag
ubuntu2204-ninja-clang-small:
rules:
- !reference [.rules-merge-request-manual, rules]
- if: $NIGHTLY_MASTER
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_ADVANCED_IM=NO -DENABLE_DB_STORAGE=NO -DENABLE_PQCRYPTO=OFF
allow_failure: true
extends: ubuntu2204-ninja-clang
ubuntu2204-makefile-gcc-signed:
rules:
- !reference [.rules-merge-request-manual, rules]
- if: $NIGHTLY_MASTER
- if: $DEPLOY_PLUGINS
variables:
CMAKE_GENERATOR: Unix Makefiles
CC: gcc
CXX: g++
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
extends: .linux-sign-build
<<: *docker_image_platform_and_runner_tag
#################################################
# Package - Nightly
#################################################
ubuntu2204-makefile-gcc-package:
tags: [ "docker" ]
image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-ubuntu-22-04-lts:$UBUNTU_2204_IMAGE_VERSION
needs: []
rules:
- !reference [.rules-merge-request-manual, rules]
- if: $NIGHTLY_MASTER
- if: $PACKAGE_LINUX
- if: $DEPLOY_LINUX
variables:
CMAKE_GENERATOR: Unix Makefiles
CC: gcc
CXX: g++
extends: .linux-sign-package
#################################################
# Deploy - Nightly
#################################################
ubuntu2204-makefile-gcc-deploy:
extends: .linux-deploy
needs:
- ubuntu2204-makefile-gcc-package
only:
variables:
- $NIGHTLY_MASTER
- $DEPLOY_LINUX
ubuntu2204-makefile-gcc-plugins-deploy:
stage: deploy
tags: [ "deploy" ]
needs:
- ubuntu2204-makefile-gcc
only:
variables:
- $DEPLOY_PLUGINS
script:
- rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.so $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM/$APP_FOLDER/plugins/
.linux-squishrunner-script: &linux-squishrunner-script |
echo "Starting Squish tests..."
"$SQUISH_BIN_PATH_LINUX/squishserver" --config removeAUT $APPLICATION_NAME
"$SQUISH_BIN_PATH_LINUX/squishserver" --config addAUT $APPLICATION_NAME build/OUTPUT/macos-arm64
"$SQUISH_BIN_PATH_LINUX/squishserver" &
"$SQUISH_BIN_PATH_LINUX/squishrunner" --testsuite tester/squish/suites/linux --reportgen html,build/output/squish-reports --exitCodeOnFail 1
"$SQUISH_BIN_PATH_LINUX/squishrunner" --testsuite tester/squish/suites/cross-platform --reportgen html,build/output/squish-reports --exitCodeOnFail 1
"$SQUISH_BIN_PATH_LINUX/squishserver" --stop
echo "Squish tests finished."
linux-squish-tests:
stage: test
image: gitlab.linphone.org:4567/bc/private/docker-private/bc-dev-ubuntu-25-04-squish:20250925_170856_20250925_add_squish_for_qt
tags: [ "docker" ]
needs:
- ubuntu2204-makefile-gcc-package
rules:
- if: $SQUISH_TESTS
- if: $PACKAGE_LINUX
script:
- *linux-squishrunner-script
artifacts:
paths:
- build/OUTPUT/squish-reports/*
when: always
expire_in: 1 week