From cee9bb1e6090d3f8a3239ef9309382845162394e Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Thu, 16 Mar 2023 17:11:06 +0100 Subject: [PATCH] Appimage is now based on Ubuntu 18.04 instead of debian9 (better c++17 support and still low glibc version). --- ....yml => job-linux-desktop-ubuntu-1804.yml} | 88 +++++++++---------- .gitlab-ci.yml | 3 +- 2 files changed, 46 insertions(+), 45 deletions(-) rename .gitlab-ci-files/{job-linux-desktop-debian9.yml => job-linux-desktop-ubuntu-1804.yml} (69%) diff --git a/.gitlab-ci-files/job-linux-desktop-debian9.yml b/.gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml similarity index 69% rename from .gitlab-ci-files/job-linux-desktop-debian9.yml rename to .gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml index 2077cb8be..0cf4d9283 100644 --- a/.gitlab-ci-files/job-linux-desktop-debian9.yml +++ b/.gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml @@ -1,8 +1,10 @@ -job-debian9-ninja-gcc: - tags: [ "docker-debian9" ] - image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-debian9-appimage:$DEBIAN_9_QT_IMAGE_VERSION +.factorize_ubuntu1804: &docker_image_platform_and_runner_tag + tags: [ "docker" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu-18-04-lts:$UBUNTU_1804_IMAGE_VERSION + +job-ubuntu1804-ninja-gcc: except: refs: - schedules @@ -12,24 +14,22 @@ job-debian9-ninja-gcc: CC: gcc CXX: g++ extends: .job-linux-desktop + <<: *docker_image_platform_and_runner_tag - -job-debian9-ninja-gcc-smallsdk: +job-ubuntu1804-ninja-gcc-smallsdk: except: refs: - schedules variables: CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_ADVANCED_IM=NO -DENABLE_DB_STORAGE=NO -DENABLE_PQCRYPTO=OFF - extends: job-debian9-ninja-gcc + extends: job-ubuntu1804-ninja-gcc ################################################# # Nightly ################################################# -job-debian9-makefile-gcc: - tags: [ "docker-debian9" ] - image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-debian9-appimage:$DEBIAN_9_QT_IMAGE_VERSION +job-ubuntu1804-makefile-gcc: only: variables: - $NIGHTLY_MASTER @@ -40,18 +40,37 @@ job-debian9-makefile-gcc: CXX: g++ ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS extends: .job-linux-desktop + <<: *docker_image_platform_and_runner_tag -job-debian9-ninja-gcc-novideo: +job-ubuntu1804-ninja-gcc-novideo: only: variables: - $NIGHTLY_MASTER variables: CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=OFF - extends: job-debian9-ninja-gcc + extends: job-ubuntu1804-ninja-gcc -job-debian9-makefile-gcc: - tags: [ "docker-debian9" ] - image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-debian9-appimage:$DEBIAN_9_QT_IMAGE_VERSION +job-ubuntu1804-ninja-clang: + only: + variables: + - $NIGHTLY_MASTER + variables: + CMAKE_OPTIONS: -DENABLE_DOC=ON -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON + CMAKE_GENERATOR: Ninja + CC: clang + CXX: clang++ + extends: .job-linux-desktop + <<: *docker_image_platform_and_runner_tag + +job-ubuntu1804-ninja-clang-novideo: + only: + variables: + - $NIGHTLY_MASTER + variables: + CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=OFF + extends: job-ubuntu1804-ninja-clang + +job-ubuntu1804-makefile-gcc: only: variables: - $NIGHTLY_MASTER @@ -82,15 +101,16 @@ job-debian9-makefile-gcc: - cmake .. -G "$CMAKE_GENERATOR" -DCMAKE_VERBOSE_MAKEFILE=ON -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_BUILD_TYPE=$CI_BUILD_TYPE $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS $SCHEDULE_CMAKE_OPTIONS $CMAKE_SANITIZER_OPTIONS - cmake --build . --target install --config $CI_BUILD_TYPE $LBC_NODEBUG_OPTIONS extends: .job-linux-desktop + <<: *docker_image_platform_and_runner_tag ################################################# # Package - Nightly ################################################# -job-debian9-makefile-gcc-package: +job-ubuntu1804-makefile-gcc-package: stage: package tags: [ "docker-test-liblinphone" ] - image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-debian9-appimage:$DEBIAN_9_QT_IMAGE_VERSION + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu-18-04-lts:$UBUNTU_1804_IMAGE_VERSION dependencies: [] only: variables: @@ -98,12 +118,11 @@ job-debian9-makefile-gcc-package: - $PACKAGE_LINUX - $DEPLOY_LINUX variables: - CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON + CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DENABLE_G729=ON -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$LINUX_PLATFORM/$APP_FOLDER -DENABLE_PQCRYPTO=ON CMAKE_GENERATOR: Unix Makefiles CC: gcc CXX: g++ APPIMAGETOOL_SIGN_PASSPHRASE: $GPG_SIGNING_PASS - RELEASE_FILE: -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$LINUX_PLATFORM/$APP_FOLDER extends: .job-linux-desktop script: - echo "$GPG_SIGNING_PUB" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key @@ -121,8 +140,7 @@ job-debian9-makefile-gcc-package: - echo $DEFAULT_LINUX_CMAKE_OPTIONS - echo $CMAKE_SANITIZER_OPTIONS - cd build - - if [[ $MAKE_RELEASE_FILE_URL == "" ]]; then export RELEASE_FILE=""; fi - - cmake .. -G "$CMAKE_GENERATOR" -DCMAKE_VERBOSE_MAKEFILE=ON -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_BUILD_TYPE=$CI_BUILD_TYPE $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS $SCHEDULE_CMAKE_OPTIONS $CMAKE_SANITIZER_OPTIONS $RELEASE_FILE + - cmake .. -G "$CMAKE_GENERATOR" -DCMAKE_VERBOSE_MAKEFILE=ON -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_BUILD_TYPE=$CI_BUILD_TYPE $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS $SCHEDULE_CMAKE_OPTIONS $CMAKE_SANITIZER_OPTIONS - cmake --build . --target install --config $CI_BUILD_TYPE $LBC_NODEBUG_OPTIONS artifacts: paths: @@ -133,47 +151,29 @@ job-debian9-makefile-gcc-package: # Deploy - Nightly ################################################# -job-debian9-makefile-gcc-deploy: +job-ubuntu1804-makefile-gcc-deploy: stage: deploy tags: [ "deploy" ] needs: - - job-debian9-makefile-gcc-package + - job-ubuntu1804-makefile-gcc-package only: variables: - $NIGHTLY_MASTER - $DEPLOY_LINUX script: - rsync -rlv --ignore-existing build/OUTPUT/Packages/*.AppImage $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM/$APP_FOLDER - - |- - if [[ $MAKE_RELEASE_FILE_URL != "" ]]; then - rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM - rsync -rlv build/OUTPUT/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM - fi + - rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM + - rsync -rlv build/OUTPUT/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM -job-debian9-makefile-gcc-plugins-deploy: +job-ubuntu1804-makefile-gcc-plugins-deploy: stage: deploy tags: [ "deploy" ] needs: - - job-debian9-makefile-gcc + - job-ubuntu1804-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/ -################################################# -# Debug -################################################# - - -job-debian9-debug: - stage: deploy - tags: [ "docker-test-debian9-liblinphone-nuc" ] - image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-debian9-appimage:$DEBIAN_9_QT_IMAGE_VERSION - dependencies: [] - only: - variables: - - $DEBUG_DEBIAN9 - script: - - sleep 10m diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ec2fadd84..ec40fce06 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,6 +26,7 @@ variables: DEBIAN_9_QT_IMAGE_VERSION: 20230314_qtopen DEBIAN_10_IMAGE_VERSION: 20210217_python3 UBUNTU_ROLLING_IMAGE_VERSION: 20211012_add_qtwebview + UBUNTU_1804_IMAGE_VERSION: 20230315_qt workflow: @@ -48,7 +49,7 @@ workflow: include: - '.gitlab-ci-files/job-linux-prepare.yml' - '.gitlab-ci-files/job-linux-desktop.yml' - - '.gitlab-ci-files/job-linux-desktop-debian9.yml' + - '.gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml' - '.gitlab-ci-files/job-windows-desktop.yml' - '.gitlab-ci-files/job-macosx-desktop.yml'