From ca40833b4319944b66a0d90c4bf581edeb8fe7cf Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Mon, 16 Oct 2023 12:11:33 +0200 Subject: [PATCH] CI: Fix git error on linux images. --- .../job-linux-desktop-archlinux-latest.yml | 124 ------------ .../job-linux-desktop-centos7.yml | 148 --------------- .../job-linux-desktop-debian10.yml | 164 ---------------- .../job-linux-desktop-debian8.yml | 69 ------- .../job-linux-desktop-debian9.yml | 179 ------------------ .../job-linux-desktop-ubuntu-1804.yml | 179 ------------------ .../job-linux-desktop-ubuntu-rolling.yml | 116 ------------ ...2004.yml => linux-desktop-ubuntu-2004.yml} | 76 ++++---- ...ob-linux-desktop.yml => linux-desktop.yml} | 2 +- ...ob-linux-prepare.yml => linux-prepare.yml} | 5 +- ...-macosx-desktop.yml => macosx-desktop.yml} | 78 ++++---- .gitlab-ci-files/rules.yml | 5 + ...indows-desktop.yml => windows-desktop.yml} | 2 +- .gitlab-ci.yml | 13 +- external/linphone-sdk | 2 +- 15 files changed, 96 insertions(+), 1066 deletions(-) delete mode 100644 .gitlab-ci-files/job-linux-desktop-archlinux-latest.yml delete mode 100644 .gitlab-ci-files/job-linux-desktop-centos7.yml delete mode 100644 .gitlab-ci-files/job-linux-desktop-debian10.yml delete mode 100644 .gitlab-ci-files/job-linux-desktop-debian8.yml delete mode 100644 .gitlab-ci-files/job-linux-desktop-debian9.yml delete mode 100644 .gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml delete mode 100644 .gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml rename .gitlab-ci-files/{job-linux-desktop-ubuntu-2004.yml => linux-desktop-ubuntu-2004.yml} (80%) rename .gitlab-ci-files/{job-linux-desktop.yml => linux-desktop.yml} (97%) rename .gitlab-ci-files/{job-linux-prepare.yml => linux-prepare.yml} (91%) rename .gitlab-ci-files/{job-macosx-desktop.yml => macosx-desktop.yml} (75%) create mode 100644 .gitlab-ci-files/rules.yml rename .gitlab-ci-files/{job-windows-desktop.yml => windows-desktop.yml} (99%) diff --git a/.gitlab-ci-files/job-linux-desktop-archlinux-latest.yml b/.gitlab-ci-files/job-linux-desktop-archlinux-latest.yml deleted file mode 100644 index f320e0f63..000000000 --- a/.gitlab-ci-files/job-linux-desktop-archlinux-latest.yml +++ /dev/null @@ -1,124 +0,0 @@ -.install-qt-webview: &install-qt-webview - before_script: - - sudo pacman -Sy qt5-webview --noprogressbar --noconfirm - -job-archlinux-latest-ninja-clang: - tags: [ "docker-archlinux-latest" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:$ARCHLINUX_IMAGE_VERSION - except: - refs: - - schedules - variables: - CMAKE_GENERATOR: Ninja - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: clang - CXX: clang++ - extends: .job-linux-desktop - <<: *install-qt-webview - -################################################# -# Nightly -################################################# - -job-archlinux-latest-makefile-gcc: - tags: [ "docker-archlinux-latest" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:$ARCHLINUX_IMAGE_VERSION - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_GENERATOR: Unix Makefiles - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: gcc - CXX: g++ - extends: .job-linux-desktop - <<: *install-qt-webview - - -job-archlinux-latest-makefile-clang: - tags: [ "docker-archlinux-latest" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:$ARCHLINUX_IMAGE_VERSION - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_GENERATOR: Unix Makefiles - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: clang - CXX: clang++ - extends: .job-linux-desktop - <<: *install-qt-webview - - -job-archlinux-latest-ninja-gcc: - tags: [ "docker-archlinux-latest" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:$ARCHLINUX_IMAGE_VERSION - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_GENERATOR: Ninja - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: gcc - CXX: g++ - extends: .job-linux-desktop - <<: *install-qt-webview - -job-archlinux-latest-ninja-gcc-novideo: - tags: [ "docker-archlinux-latest" ] - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_OPTIONS: -DENABLE_VIDEO=NO - extends: job-archlinux-latest-ninja-gcc - <<: *install-qt-webview - -job-archlinux-latest-ninja-clang-novideo: - tags: [ "docker-archlinux-latest" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:$ARCHLINUX_IMAGE_VERSION - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=OFF - CMAKE_GENERATOR: Ninja - CC: clang - CXX: clang++ - extends: .job-linux-desktop - <<: *install-qt-webview - -################################################# -# Package - Nightly -################################################# - -#job-archlinux-latest-makefile-clang-package: -# stage: package -# tags: [ "docker-archlinux-latest" ] -# only: -# variables: -# - $NIGHTLY_MASTER -# - $DEPLOY_LINUX -# variables: -# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON -DENABLE_GPL_THIRD_PARTIES=ON -# extends: job-archlinux-latest-makefile-clang -# artifacts: -# paths: -# - build/OUTPUT/Packages/Linphone*.AppImage -# expire_in: 1 week -# -################################################# -# Deploy - Nightly -################################################# - -#job-archlinux-latest-makefile-clang-deploy: -# stage: deploy -# tags: [ "docker-archlinux-latest" ] -# dependencies: -# - job-archlinux-latest-makefile-clang-package -# only: -# variables: -# - $NIGHTLY_MASTER -# - $DEPLOY_LINUX -# script: -# - scp build/OUTPUT/Packages/Linphone*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/ diff --git a/.gitlab-ci-files/job-linux-desktop-centos7.yml b/.gitlab-ci-files/job-linux-desktop-centos7.yml deleted file mode 100644 index 0c6f49e61..000000000 --- a/.gitlab-ci-files/job-linux-desktop-centos7.yml +++ /dev/null @@ -1,148 +0,0 @@ - -#job-centos7-makefile-gcc: - -# tags: [ "docker" ] -# image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7 -# only: -# variables: -# - $NIGHTLY_MASTER -# variables: -# CMAKE_GENERATOR: Unix Makefiles -# CC: gcc -# CXX: g++ -# extends: .job-linux-desktop - - -#job-centos7-makefile-clang: - -# tags: [ "docker-centos7" ] -# image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-centos7-fuse-qt-wget:$CENTOS_7_QT_IMAGE_VERSION -# only: -# variables: -# - $NIGHTLY_MASTER -# variables: -# CMAKE_GENERATOR: Unix Makefiles -# CC: clang -# CXX: clang++ -# extends: .job-linux-desktop - - -################################################# -# Ninja -################################################# -job-centos7-ninja-gcc: - tags: [ "docker" ] - image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-centos7-fuse-qt-wget:$CENTOS_7_QT_IMAGE_VERSION - except: - refs: - - schedules - variables: - CMAKE_GENERATOR: Ninja - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: gcc - CXX: g++ - extends: .job-linux-desktop - before_script: - - source /opt/rh/devtoolset-8/enable - - - -#job-centos7-ninja-clang: - -# tags: [ "docker-centos7" ] -# only: -# variables: -# - $NIGHTLY_MASTER -# image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7 -# variables: -# CMAKE_GENERATOR: Ninja -# CC: clang -# CXX: clang++ -# CMAKE_OPTIONS: -DENABLE_LIME=ON -# extends: .job-linux-desktop - -################################################# -# Package - Nightly -################################################# - -job-centos7-ninja-gcc-package: - stage: package - tags: [ "docker-test-centos7-liblinphone-nuc" ] - image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-centos7-fuse-qt-wget:$CENTOS_7_QT_IMAGE_VERSION - dependencies: [] - only: - variables: - - $DEPLOY_LINUX_CENTOS7 - variables: - CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON - CMAKE_GENERATOR: Ninja - CC: gcc - CXX: g++ - APPIMAGETOOL_SIGN_PASSPHRASE: $GPG_SIGNING_PASS - extends: .job-linux-desktop - before_script: - - source /opt/rh/devtoolset-8/enable - script: - - echo "$GPG_SIGNING_PUB" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key - - gpg --import file.key - - echo "$GPG_SIGNING_KEY" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key - - gpg --import file.key - - cmake --version - - export CC=$CC - - export CXX=$CXX - - mkdir -p build/OUTPUT - - echo $CI_BUILD_TYPE - - echo $CMAKE_GENERATOR - - echo $DEFAULT_LINUX_CMAKE_OPTIONS - - echo $CMAKE_SANITIZER_OPTIONS - - cd build - - 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: - - build/OUTPUT/Packages/*.AppImage - when: always - expire_in: 1 week - -################################################# -# Deploy - Nightly -################################################# - -job-centos7-ninja-gcc-deploy: - stage: deploy - tags: [ "deploy" ] - dependencies: - - job-centos7-ninja-gcc-package - only: - variables: - - $DEPLOY_LINUX_CENTOS7 - script: - - rsync -rlv --ignore-existing build/OUTPUT/Packages/*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/ - -################################################# -# Debug -################################################# - -job-centos7-debug-nuc: - stage: deploy - tags: [ "docker-test-centos7-liblinphone-nuc" ] - #image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7 - image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-centos7-fuse-qt-wget:$CENTOS_7_QT_IMAGE_VERSION - dependencies: [] - only: - variables: - - $DEBUG_CENTOS7_NUC - script: - - sleep 10m - -job-centos7-debug: - stage: deploy - tags: [ "docker" ] - #image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7 - image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-centos7-fuse-qt-wget:$CENTOS_7_QT_IMAGE_VERSION - dependencies: [] - only: - variables: - - $DEBUG_CENTOS7 - script: - - sleep 10m diff --git a/.gitlab-ci-files/job-linux-desktop-debian10.yml b/.gitlab-ci-files/job-linux-desktop-debian10.yml deleted file mode 100644 index cffc14393..000000000 --- a/.gitlab-ci-files/job-linux-desktop-debian10.yml +++ /dev/null @@ -1,164 +0,0 @@ -.factorize_debian10: &docker_image_platform_and_runner_tag - tags: [ "docker" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian10:$DEBIAN_10_IMAGE_VERSION - - -job-debian10-ninja-gcc: - except: - refs: - - schedules - variables: - CMAKE_GENERATOR: Ninja - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: gcc - CXX: g++ - extends: .job-linux-desktop - <<: *docker_image_platform_and_runner_tag - -################################################# -# Nightly -################################################# - -job-debian10-makefile-gcc: - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_GENERATOR: Unix Makefiles - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: gcc - CXX: g++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .job-linux-desktop - <<: *docker_image_platform_and_runner_tag - - -job-debian10-ninja-gcc-novideo: - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=OFF - extends: job-debian10-ninja-gcc - - -job-debian10-ninja-gcc-smallsdk: - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_ADVANCED_IM=NO -DENABLE_DB_STORAGE=NO -DENABLE_PQCRYPTO=OFF - CMAKE_GENERATOR: Ninja - CC: gcc - CXX: g++ - extends: .job-linux-desktop - <<: *docker_image_platform_and_runner_tag - - -job-debian10-ninja-clang: - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_GENERATOR: Ninja - CMAKE_OPTIONS: -DENABLE_DOC=ON -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON - CC: clang - CXX: clang++ - extends: .job-linux-desktop - <<: *docker_image_platform_and_runner_tag - - -job-debian10-ninja-clang-novideo: - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=OFF - extends: job-debian10-ninja-clang - -job-debian10-makefile-clang: - only: - variables: - - $NIGHTLY_MASTER - - $DEPLOY_LINUX - variables: - CMAKE_GENERATOR: Unix Makefiles - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: clang - CXX: clang++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .job-linux-desktop - <<: *docker_image_platform_and_runner_tag - -################################################# -# Package - Nightly -################################################# - -job-debian10-makefile-gcc-package: - stage: package - tags: [ "docker-test-liblinphone" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian10:$DEBIAN_10_IMAGE_VERSION - dependencies: [] - only: - variables: - - $NIGHTLY_MASTER - - $PACKAGE_LINUX - - $DEPLOY_LINUX - variables: - 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 -DENABLE_GPL_THIRD_PARTIES=ON - CMAKE_GENERATOR: Unix Makefiles - CC: gcc - CXX: g++ - APPIMAGETOOL_SIGN_PASSPHRASE: $GPG_SIGNING_PASS - extends: .job-linux-desktop - script: - - echo "$GPG_SIGNING_PUB" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key - - gpg --import file.key - - rm -f file.key - - echo "$GPG_SIGNING_KEY" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key - - base64 -w 0 file.key | base64 -d | gpg --import --no-tty --batch --yes - - rm -f file.key - - cmake --version - - export CC=$CC - - export CXX=$CXX - - mkdir -p build/OUTPUT - - echo $CI_BUILD_TYPE - - echo $CMAKE_GENERATOR - - echo $DEFAULT_LINUX_CMAKE_OPTIONS - - echo $CMAKE_SANITIZER_OPTIONS - - cd build - - 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: - - build/OUTPUT/* - expire_in: 1 week - -################################################# -# Deploy - Nightly -################################################# - -#job-debian10-makefile-gcc-deploy: -# stage: deploy -# tags: [ "docker" ] -# dependencies: -# - job-debian10-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 -# - 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-debian10-makefile-gcc-plugins-deploy: -# stage: deploy -# tags: [ "deploy" ] -# needs: -# - job-debian10-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/ diff --git a/.gitlab-ci-files/job-linux-desktop-debian8.yml b/.gitlab-ci-files/job-linux-desktop-debian8.yml deleted file mode 100644 index a4934cc69..000000000 --- a/.gitlab-ci-files/job-linux-desktop-debian8.yml +++ /dev/null @@ -1,69 +0,0 @@ -################################################# -# Makefile -################################################# - -job-debian8-makefile-gcc: - tags: [ "docker-debian8" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8 - except: - refs: - - schedules - variables: - CMAKE_GENERATOR: Unix Makefiles - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: gcc - CXX: g++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - LBC_NODEBUG_OPTIONS: -- -j$MAKEFILE_JOBS - extends: .job-linux-desktop - - -job-debian8-makefile-clang: - tags: [ "docker-debian8" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8 - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_GENERATOR: Unix Makefiles - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: clang - CXX: clang++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - LBC_NODEBUG_OPTIONS: -- -j$MAKEFILE_JOBS - extends: .job-linux-desktop - -################################################# -# Package - Nightly -################################################# - -#job-debian8-makefile-clang-package: -# stage: package -# tags: [ "docker-debian8" ] -# only: -# variables: -# - $NIGHTLY_MASTER -# - $DEPLOY_LINUX -# variables: -# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON -# extends: job-debian8-makefile-clang -# artifacts: -# paths: -# - build/OUTPUT/Packages/Linphone*.AppImage -# expire_in: 1 week - -################################################# -# Deploy - Nightly -################################################# - -#job-debian8-makefile-clang-deploy: -# stage: deploy -# tags: [ "docker-debian8" ] -# dependencies: -# - job-debian8-makefile-clang-package -# only: -# variables: -# - $NIGHTLY_MASTER -# - $DEPLOY_LINUX -# script: -# - scp build/OUTPUT/Packages/Linphone*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/ diff --git a/.gitlab-ci-files/job-linux-desktop-debian9.yml b/.gitlab-ci-files/job-linux-desktop-debian9.yml deleted file mode 100644 index 2077cb8be..000000000 --- a/.gitlab-ci-files/job-linux-desktop-debian9.yml +++ /dev/null @@ -1,179 +0,0 @@ - - -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 - except: - refs: - - schedules - variables: - CMAKE_GENERATOR: Ninja - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: gcc - CXX: g++ - extends: .job-linux-desktop - - -job-debian9-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 - - -################################################# -# 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 - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_GENERATOR: Unix Makefiles - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: gcc - CXX: g++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .job-linux-desktop - -job-debian9-ninja-gcc-novideo: - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=OFF - extends: job-debian9-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 - only: - variables: - - $NIGHTLY_MASTER - - $DEPLOY_PLUGINS - variables: - CMAKE_OPTIONS: -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON - CMAKE_GENERATOR: Unix Makefiles - CC: gcc - CXX: g++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - APPIMAGETOOL_SIGN_PASSPHRASE: $GPG_SIGNING_PASS - script: - - echo "$GPG_SIGNING_PUB" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key - - gpg --import file.key - - rm -f file.key - - echo "$GPG_SIGNING_KEY" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key - - base64 -w 0 file.key | base64 -d | gpg --import --no-tty --batch --yes - - rm -f file.key - - cmake --version - - export CC=$CC - - export CXX=$CXX - - mkdir -p build/OUTPUT - - echo $CI_BUILD_TYPE - - echo $CMAKE_GENERATOR - - echo $DEFAULT_LINUX_CMAKE_OPTIONS - - echo $CMAKE_SANITIZER_OPTIONS - - cd build - - 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 - -################################################# -# Package - Nightly -################################################# - -job-debian9-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 - dependencies: [] - only: - variables: - - $NIGHTLY_MASTER - - $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_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 - - gpg --import file.key - - rm -f file.key - - echo "$GPG_SIGNING_KEY" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key - - base64 -w 0 file.key | base64 -d | gpg --import --no-tty --batch --yes - - rm -f file.key - - cmake --version - - export CC=$CC - - export CXX=$CXX - - mkdir -p build/OUTPUT - - echo $CI_BUILD_TYPE - - echo $CMAKE_GENERATOR - - 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 --build . --target install --config $CI_BUILD_TYPE $LBC_NODEBUG_OPTIONS - artifacts: - paths: - - build/OUTPUT/* - expire_in: 1 week - -################################################# -# Deploy - Nightly -################################################# - -job-debian9-makefile-gcc-deploy: - stage: deploy - tags: [ "deploy" ] - needs: - - job-debian9-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 - - -job-debian9-makefile-gcc-plugins-deploy: - stage: deploy - tags: [ "deploy" ] - needs: - - job-debian9-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-files/job-linux-desktop-ubuntu-1804.yml b/.gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml deleted file mode 100644 index e54e5791d..000000000 --- a/.gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml +++ /dev/null @@ -1,179 +0,0 @@ - - -.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 - variables: - CMAKE_GENERATOR: Ninja - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: gcc - CXX: g++ - extends: .job-linux-desktop - <<: *docker_image_platform_and_runner_tag - -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-ubuntu1804-ninja-gcc - - -################################################# -# Nightly -################################################# - -job-ubuntu1804-makefile-gcc: - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_GENERATOR: Unix Makefiles - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: gcc - CXX: g++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .job-linux-desktop - <<: *docker_image_platform_and_runner_tag - -job-ubuntu1804-ninja-gcc-novideo: - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=OFF - extends: job-ubuntu1804-ninja-gcc - -job-ubuntu1804-ninja-clang: - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_OPTIONS: -DENABLE_DOC=ON -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=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 - - $DEPLOY_PLUGINS - variables: - CMAKE_OPTIONS: -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON - CMAKE_GENERATOR: Unix Makefiles - CC: gcc - CXX: g++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - APPIMAGETOOL_SIGN_PASSPHRASE: $GPG_SIGNING_PASS - script: - - echo "$GPG_SIGNING_PUB" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key - - gpg --import file.key - - rm -f file.key - - echo "$GPG_SIGNING_KEY" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key - - base64 -w 0 file.key | base64 -d | gpg --import --no-tty --batch --yes - - rm -f file.key - - cmake --version - - export CC=$CC - - export CXX=$CXX - - mkdir -p build/OUTPUT - - echo $CI_BUILD_TYPE - - echo $CMAKE_GENERATOR - - echo $DEFAULT_LINUX_CMAKE_OPTIONS - - echo $CMAKE_SANITIZER_OPTIONS - - cd build - - 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-ubuntu1804-makefile-gcc-package: - stage: package - tags: [ "docker-test-liblinphone" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu-18-04-lts:$UBUNTU_1804_IMAGE_VERSION - dependencies: [] - only: - variables: - - $NIGHTLY_MASTER - - $PACKAGE_LINUX - - $DEPLOY_LINUX - variables: - 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 -DENABLE_GPL_THIRD_PARTIES=ON - CMAKE_GENERATOR: Unix Makefiles - CC: gcc - CXX: g++ - APPIMAGETOOL_SIGN_PASSPHRASE: $GPG_SIGNING_PASS - extends: .job-linux-desktop - script: - - echo "$GPG_SIGNING_PUB" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key - - gpg --import file.key - - rm -f file.key - - echo "$GPG_SIGNING_KEY" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key - - base64 -w 0 file.key | base64 -d | gpg --import --no-tty --batch --yes - - rm -f file.key - - cmake --version - - export CC=$CC - - export CXX=$CXX - - mkdir -p build/OUTPUT - - echo $CI_BUILD_TYPE - - echo $CMAKE_GENERATOR - - echo $DEFAULT_LINUX_CMAKE_OPTIONS - - echo $CMAKE_SANITIZER_OPTIONS - - cd build - - 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: - - build/OUTPUT/* - expire_in: 1 week - -################################################# -# Deploy - Nightly -################################################# - -#job-ubuntu1804-makefile-gcc-deploy: -# stage: deploy -# tags: [ "deploy" ] -# needs: -# - 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 -# - 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-ubuntu1804-makefile-gcc-plugins-deploy: -# stage: deploy -# tags: [ "deploy" ] -# needs: -# - 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/ - diff --git a/.gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml b/.gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml deleted file mode 100644 index cb3034ac7..000000000 --- a/.gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml +++ /dev/null @@ -1,116 +0,0 @@ - -job-ubuntu-rolling-ninja-clang: - tags: [ "docker-ubuntu-rolling" ] - image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-ubuntu-rolling-qt-fuse-wget-gpg2:$UBUNTU_ROLLING_IMAGE_VERSION - except: - refs: - - schedules - variables: - CMAKE_GENERATOR: Ninja - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: clang - CXX: clang++ - extends: .job-linux-desktop - - - - -################################################# -# Nightly -################################################# - -job-ubuntu-rolling-makefile-gcc: - tags: [ "docker-ubuntu-rolling" ] - image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-ubuntu-rolling-qt-fuse-wget-gpg2:$UBUNTU_ROLLING_IMAGE_VERSION - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_GENERATOR: Unix Makefiles - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: gcc - CXX: g++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .job-linux-desktop - - -job-ubuntu-rolling-makefile-clang: - tags: [ "docker-ubuntu-rolling" ] - image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-ubuntu-rolling-qt-fuse-wget-gpg2:$UBUNTU_ROLLING_IMAGE_VERSION - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_GENERATOR: Unix Makefiles - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: clang - CXX: clang++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .job-linux-desktop - - -job-ubuntu-rolling-ninja-gcc: - tags: [ "docker-ubuntu-rolling" ] - image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-ubuntu-rolling-qt-fuse-wget-gpg2:$UBUNTU_ROLLING_IMAGE_VERSION - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_GENERATOR: Ninja - CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON - CC: gcc - CXX: g++ - extends: .job-linux-desktop - - -job-ubuntu-rolling-ninja-gcc-novideo: - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=OFF - extends: job-ubuntu-rolling-ninja-gcc - - -job-ubuntu-rolling-ninja-clang-novideo: - only: - variables: - - $NIGHTLY_MASTER - variables: - CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=OFF - extends: job-ubuntu-rolling-ninja-clang - -################################################# -# Package - Nightly -################################################# - -#job-ubuntu-rolling-makefile-clang-package: -# stage: package -# tags: [ "docker-ubuntu-rolling" ] -# only: -# variables: -# - $NIGHTLY_MASTER -# - $DEPLOY_LINUX -# variables: -# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON -DENABLE_GPL_THIRD_PARTIES=ON -# extends: job-ubuntu-rolling-makefile-clang -# artifacts: -# paths: -# - build/OUTPUT/Packages/Linphone*.AppImage -# expire_in: 1 week - -################################################# -# Deploy - Nightly -################################################# - -#job-ubuntu-rolling-makefile-clang-deploy: -# stage: deploy -# tags: [ "docker-ubuntu-rolling" ] -# dependencies: -# - job-ubuntu-rolling-makefile-clang-package -# only: -# variables: -# - $NIGHTLY_MASTER -# - $DEPLOY_LINUX -# script: -# - scp build/OUTPUT/Packages/Linphone*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/ diff --git a/.gitlab-ci-files/job-linux-desktop-ubuntu-2004.yml b/.gitlab-ci-files/linux-desktop-ubuntu-2004.yml similarity index 80% rename from .gitlab-ci-files/job-linux-desktop-ubuntu-2004.yml rename to .gitlab-ci-files/linux-desktop-ubuntu-2004.yml index 5c329ed89..fc0ecd7ec 100644 --- a/.gitlab-ci-files/job-linux-desktop-ubuntu-2004.yml +++ b/.gitlab-ci-files/linux-desktop-ubuntu-2004.yml @@ -1,19 +1,17 @@ - - .factorize_ubuntu2004: &docker_image_platform_and_runner_tag tags: [ "docker" ] image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-ubuntu-20-04-lts:$UBUNTU_2004_IMAGE_VERSION -job-ubuntu2004-ninja-gcc: - except: - refs: - - schedules +ubuntu2004-ninja-gcc: + rules: + - if: $CI_PIPELINE_SOURCE == "merge_request_event" && $DOCKER_UPDATE == null && $SKIP_LINUX == null + - if: $CI_PIPELINE_SOURCE == "schedule" && $DOCKER_UPDATE == null && $SKIP_LINUX == null variables: CMAKE_GENERATOR: Ninja CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON CC: gcc CXX: g++ - extends: .job-linux-desktop + extends: .linux-desktop <<: *docker_image_platform_and_runner_tag @@ -21,44 +19,44 @@ job-ubuntu2004-ninja-gcc: # Nightly ################################################# -job-ubuntu2004-makefile-gcc: - only: - variables: - - $NIGHTLY_MASTER +ubuntu2004-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: .job-linux-desktop + extends: .linux-desktop <<: *docker_image_platform_and_runner_tag -job-ubuntu2004-ninja-clang: - only: - variables: - - $NIGHTLY_MASTER +ubuntu2004-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=ON CMAKE_GENERATOR: Ninja CC: clang CXX: clang++ - extends: .job-linux-desktop + extends: .linux-desktop <<: *docker_image_platform_and_runner_tag -job-ubuntu2004-ninja-clang-small: - only: - variables: - - $NIGHTLY_MASTER +ubuntu2004-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 - extends: job-ubuntu2004-ninja-clang + extends: ubuntu2004-ninja-clang -job-ubuntu2004-makefile-gcc: - only: - variables: - - $NIGHTLY_MASTER - - $DEPLOY_PLUGINS +ubuntu2004-makefile-gcc: + rules: + - !reference [.rules-merge-request-manual, rules] + - if: $NIGHTLY_MASTER + - if: $DEPLOY_PLUGINS variables: CMAKE_OPTIONS: -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON CMAKE_GENERATOR: Unix Makefiles @@ -86,30 +84,30 @@ job-ubuntu2004-makefile-gcc: - cd build - 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 + extends: .linux-desktop <<: *docker_image_platform_and_runner_tag ################################################# # Package - Nightly ################################################# -job-ubuntu2004-makefile-gcc-package: +ubuntu2004-makefile-gcc-package: stage: package tags: [ "docker-test-liblinphone" ] image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-ubuntu-20-04-lts:$UBUNTU_2004_IMAGE_VERSION dependencies: [] - only: - variables: - - $NIGHTLY_MASTER - - $PACKAGE_LINUX - - $DEPLOY_LINUX + rules: + - !reference [.rules-merge-request-manual, rules] + - if: $NIGHTLY_MASTER + - if: $PACKAGE_LINUX + - if: $DEPLOY_LINUX variables: 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 -DENABLE_GPL_THIRD_PARTIES=ON CMAKE_GENERATOR: Unix Makefiles CC: gcc CXX: g++ APPIMAGETOOL_SIGN_PASSPHRASE: $GPG_SIGNING_PASS - extends: .job-linux-desktop + extends: .linux-desktop script: - echo "$GPG_SIGNING_PUB" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key - gpg --import file.key @@ -139,11 +137,11 @@ job-ubuntu2004-makefile-gcc-package: # Deploy - Nightly ################################################# -#job-ubuntu2004-makefile-gcc-deploy: +#ubuntu2004-makefile-gcc-deploy: # stage: deploy # tags: [ "deploy" ] # needs: -# - job-ubuntu2004-makefile-gcc-package +# - ubuntu2004-makefile-gcc-package # only: # variables: # - $NIGHTLY_MASTER @@ -154,11 +152,11 @@ job-ubuntu2004-makefile-gcc-package: # - rsync -rlv build/OUTPUT/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM -#job-ubuntu2004-makefile-gcc-plugins-deploy: +#ubuntu2004-makefile-gcc-plugins-deploy: # stage: deploy # tags: [ "deploy" ] # needs: -# - job-ubuntu2004-makefile-gcc +# - ubuntu2004-makefile-gcc # only: # variables: # - $DEPLOY_PLUGINS diff --git a/.gitlab-ci-files/job-linux-desktop.yml b/.gitlab-ci-files/linux-desktop.yml similarity index 97% rename from .gitlab-ci-files/job-linux-desktop.yml rename to .gitlab-ci-files/linux-desktop.yml index e1be79036..2eb4f9db3 100644 --- a/.gitlab-ci-files/job-linux-desktop.yml +++ b/.gitlab-ci-files/linux-desktop.yml @@ -17,7 +17,7 @@ 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 -.job-linux-desktop: +.linux-desktop: stage: build extends: .linux-prepare script: diff --git a/.gitlab-ci-files/job-linux-prepare.yml b/.gitlab-ci-files/linux-prepare.yml similarity index 91% rename from .gitlab-ci-files/job-linux-prepare.yml rename to .gitlab-ci-files/linux-prepare.yml index b71b72ab3..3b8d689f0 100644 --- a/.gitlab-ci-files/job-linux-prepare.yml +++ b/.gitlab-ci-files/linux-prepare.yml @@ -5,7 +5,7 @@ paths: - ccache/ - extends: .job-prepare + extends: .prepare before_script: ## @@ -28,6 +28,9 @@ - ccache -s - find $CI_PROJECT_DIR -name '.git' -exec bash -c 'git config --global --add safe.directory ${0%/.git}' {} \; - git describe --debug || true + - cd external/linphone-sdk + - git describe --debug || true + - cd ../.. after_script: - if ! [ -z ${TUNNEL_USER_KEY+x} ]; then rm -rf ~/.ssh || true; fi diff --git a/.gitlab-ci-files/job-macosx-desktop.yml b/.gitlab-ci-files/macosx-desktop.yml similarity index 75% rename from .gitlab-ci-files/job-macosx-desktop.yml rename to .gitlab-ci-files/macosx-desktop.yml index cd1b899ab..64a03bf40 100644 --- a/.gitlab-ci-files/job-macosx-desktop.yml +++ b/.gitlab-ci-files/macosx-desktop.yml @@ -1,7 +1,7 @@ #Build template to use in other job scripts without having to copy same code #format = .className: &referenceName | scripts #Use = scripts: -*referenceName -#Example : see .job-macosx-desktop for the default script and job-macosx-makefile-package for override +#Example : see .macosx-desktop for the default script and macosx-makefile-package for override .build_all_script: &build_all_script | ccache -s @@ -22,9 +22,12 @@ cmake --build . --target install --config $CI_BUILD_TYPE $LBC_NODEBUG_OPTIONS -- $ADDITIONAL_BUILD_OPTIONS ccache -s -.job-macosx-desktop: +.macosx-desktop: stage: build tags: [ "macos-xcode13" ] + rules: + - if: $CI_PIPELINE_SOURCE == "merge_request_event" && $DOCKER_UPDATE == null && $SKIP_MACOSX == null + - if: $CI_PIPELINE_SOURCE == "schedule" && $DOCKER_UPDATE == null && $SKIP_MACOSX == null script: - *build_all_script artifacts: @@ -38,41 +41,40 @@ ################################################# #TODO: reactivate pcrypto when liboqs is fixed for 'Vortex' CPU. -job-macosx-ninja: - except: - refs: - - schedules +macosx-ninja: + rules: + - if: ($CI_PIPELINE_SOURCE == "merge_request_event") && $DOCKER_UPDATE == null && $SKIP_MACOSX == null variables: CMAKE_GENERATOR: Ninja CMAKE_OPTIONS: -DENABLE_PQCRYPTO=OFF - extends: .job-macosx-desktop + extends: .macosx-desktop ################################################# # Nightly ################################################# -job-macosx-makefile: - only: - variables: - - $NIGHTLY_MASTER - - $DEPLOY_PLUGINS +macosx-makefile: + rules: + - !reference [.rules-merge-request-manual, rules] + - if: $NIGHTLY_MASTER + - if: $DEPLOY_PLUGINS variables: CMAKE_GENERATOR: Unix Makefiles CMAKE_OPTIONS: -DENABLE_PQCRYPTO=OFF ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .job-macosx-desktop + extends: .macosx-desktop -job-macosx-ninja-novideo: - only: - variables: - - $NIGHTLY_MASTER +macosx-ninja-novideo: + rules: + - !reference [.rules-merge-request-manual, rules] + - if: $NIGHTLY_MASTER variables: CMAKE_OPTIONS: -DENABLE_VIDEO=OFF -DENABLE_PQCRYPTO=OFF CMAKE_GENERATOR: Ninja - extends: .job-macosx-desktop + extends: .macosx-desktop -#job-macosx-xcode: -# extends: .job-macosx-desktop +#macosx-xcode: +# extends: .macosx-desktop # variables: # XCODE_OPTIONS: -DLINPHONESDK_MACOS_BASE_URL=$MACOS_SNAPSHOTS_URL # CMAKE_GENERATOR: Xcode @@ -87,19 +89,19 @@ job-macosx-ninja-novideo: # Package - Nightly ################################################# # WAIT for QT6 for arm64 -job-macosx-makefile-package: +macosx-makefile-package: stage: package tags: [ "macos-xcode13" ] dependencies: [] - only: - variables: - - $NIGHTLY_MASTER - - $PACKAGE_MACOSX - - $DEPLOY_MACOSX + rules: + - !reference [.rules-merge-request-manual, rules] + - if: $NIGHTLY_MASTER + - if: $PACKAGE_MACOSX + - if: $DEPLOY_MACOSX variables: CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=ON -DENABLE_GPL_THIRD_PARTIES=ON -DENABLE_G729=ON RELEASE_FILE: -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$MACOSX_PLATFORM/$APP_FOLDER - extends: job-macosx-makefile + extends: macosx-makefile script: - if [[ $MAKE_RELEASE_FILE_URL == "" ]]; then export RELEASE_FILE=""; fi - *build_all_script @@ -110,16 +112,16 @@ job-macosx-makefile-package: when: always expire_in: 1 week -job-macosx-codesigning: +macosx-codesigning: stage: signing tags: [ "macos-xcode13" ] needs: - - job-macosx-makefile-package - only: - variables: - - $NIGHTLY_MASTER - - $PACKAGE_MACOSX - - $DEPLOY_MACOSX + - macosx-makefile-package + rules: + - !reference [.rules-merge-request-manual, rules] + - if: $NIGHTLY_MASTER + - if: $PACKAGE_MACOSX + - if: $DEPLOY_MACOSX script: - cd build - codesign --timestamp --options runtime,library --verbose -s "$MACOS_SIGNING_IDENTITY" OUTPUT/Linphone/macos/Packages/Linphone*.dmg @@ -135,11 +137,11 @@ job-macosx-codesigning: # Deploy - Nightly ################################################# -#job-macosx-makefile-deploy: +#macosx-makefile-deploy: # stage: deploy # tags: [ "macos-xcode13" ] # needs: -# - job-macosx-codesigning +# - macosx-codesigning # only: # variables: # - $NIGHTLY_MASTER @@ -153,11 +155,11 @@ job-macosx-codesigning: # fi -#job-macosx-makefile-plugins-deploy: +#macosx-makefile-plugins-deploy: # stage: deploy # tags: [ "macos-xcode13" ] # needs: -# - job-macosx-makefile +# - macosx-makefile # only: # variables: # - $DEPLOY_PLUGINS diff --git a/.gitlab-ci-files/rules.yml b/.gitlab-ci-files/rules.yml new file mode 100644 index 000000000..6f68798af --- /dev/null +++ b/.gitlab-ci-files/rules.yml @@ -0,0 +1,5 @@ +.rules-merge-request-manual: + rules: + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: manual + allow_failure: true \ No newline at end of file diff --git a/.gitlab-ci-files/job-windows-desktop.yml b/.gitlab-ci-files/windows-desktop.yml similarity index 99% rename from .gitlab-ci-files/job-windows-desktop.yml rename to .gitlab-ci-files/windows-desktop.yml index f875d572a..cf3a4648a 100644 --- a/.gitlab-ci-files/job-windows-desktop.yml +++ b/.gitlab-ci-files/windows-desktop.yml @@ -3,7 +3,7 @@ ################################################# .windows-vs2019: - extends: .job-prepare + extends: .prepare stage: build tags: [ "windows-powershell" ] rules: diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3a5fafa72..21b6ba602 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -42,16 +42,17 @@ workflow: # Platforms to test ################################################# -.job-prepare: +.prepare: variables: ALL_JOB_VARIABLE: "" include: - - '.gitlab-ci-files/job-linux-prepare.yml' - - '.gitlab-ci-files/job-linux-desktop.yml' - - '.gitlab-ci-files/job-linux-desktop-ubuntu-2004.yml' - - '.gitlab-ci-files/job-windows-desktop.yml' - - '.gitlab-ci-files/job-macosx-desktop.yml' + - '.gitlab-ci-files/rules.yml' + - '.gitlab-ci-files/linux-prepare.yml' + - '.gitlab-ci-files/linux-desktop.yml' + - '.gitlab-ci-files/linux-desktop-ubuntu-2004.yml' + - '.gitlab-ci-files/windows-desktop.yml' + - '.gitlab-ci-files/macosx-desktop.yml' stages: diff --git a/external/linphone-sdk b/external/linphone-sdk index 949394d21..eed7c5254 160000 --- a/external/linphone-sdk +++ b/external/linphone-sdk @@ -1 +1 @@ -Subproject commit 949394d2158c44ddad4725327dc65e4488d36581 +Subproject commit eed7c5254e2b774840f7a2d4b0d5b39ab0624190