diff --git a/.gitlab-ci-files/job-linux-desktop-archlinux-latest.yml b/.gitlab-ci-files/job-linux-desktop-archlinux-latest.yml index 841524725..a2ed4035b 100644 --- a/.gitlab-ci-files/job-linux-desktop-archlinux-latest.yml +++ b/.gitlab-ci-files/job-linux-desktop-archlinux-latest.yml @@ -1,3 +1,7 @@ +.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 @@ -9,11 +13,12 @@ job-archlinux-latest-ninja-clang: 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 @@ -25,6 +30,7 @@ job-archlinux-latest-makefile-gcc: CC: gcc CXX: g++ extends: .job-linux-desktop + <<: *install-qt-webview job-archlinux-latest-makefile-clang: @@ -38,6 +44,7 @@ job-archlinux-latest-makefile-clang: CC: clang CXX: clang++ extends: .job-linux-desktop + <<: *install-qt-webview job-archlinux-latest-ninja-gcc: @@ -51,6 +58,7 @@ job-archlinux-latest-ninja-gcc: CC: gcc CXX: g++ extends: .job-linux-desktop + <<: *install-qt-webview job-archlinux-latest-ninja-gcc-novideo: tags: [ "docker-archlinux-latest" ] @@ -60,6 +68,7 @@ job-archlinux-latest-ninja-gcc-novideo: 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" ] @@ -73,7 +82,8 @@ job-archlinux-latest-ninja-clang-novideo: CC: clang CXX: clang++ extends: .job-linux-desktop - + <<: *install-qt-webview + ################################################# # Package - Nightly ################################################# @@ -108,4 +118,3 @@ job-archlinux-latest-ninja-clang-novideo: # - $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 index 041e5abc8..1096d01c8 100644 --- a/.gitlab-ci-files/job-linux-desktop-centos7.yml +++ b/.gitlab-ci-files/job-linux-desktop-centos7.yml @@ -44,7 +44,7 @@ job-centos7-ninja-gcc: before_script: - source /opt/rh/devtoolset-8/enable - + #job-centos7-ninja-clang: @@ -94,7 +94,7 @@ job-centos7-ninja-gcc-package: - 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 .. -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: @@ -116,7 +116,7 @@ job-centos7-ninja-gcc-deploy: - $DEPLOY_LINUX_CENTOS7 script: - rsync -rlv --ignore-existing build/OUTPUT/Packages/*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/ - + ################################################# # Debug ################################################# diff --git a/.gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml b/.gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml index 7028d1cf8..96ba4840b 100644 --- a/.gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml +++ b/.gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml @@ -1,7 +1,7 @@ job-ubuntu-rolling-ninja-clang: tags: [ "docker-ubuntu-rolling" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu-rolling:$UBUNTU_ROLLING_IMAGE_VERSION + image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-ubuntu-rolling-qt-fuse-wget-gpg2:$UBUNTU_ROLLING_IMAGE_VERSION except: refs: - schedules @@ -10,17 +10,17 @@ job-ubuntu-rolling-ninja-clang: 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-sdk/bc-dev-ubuntu-rolling:$UBUNTU_ROLLING_IMAGE_VERSION + 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 @@ -34,7 +34,7 @@ job-ubuntu-rolling-makefile-gcc: job-ubuntu-rolling-makefile-clang: tags: [ "docker-ubuntu-rolling" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu-rolling:$UBUNTU_ROLLING_IMAGE_VERSION + 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 @@ -48,7 +48,7 @@ job-ubuntu-rolling-makefile-clang: job-ubuntu-rolling-ninja-gcc: tags: [ "docker-ubuntu-rolling" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu-rolling:$UBUNTU_ROLLING_IMAGE_VERSION + 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 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4ab5f9dc0..1e81d5eae 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,11 +7,11 @@ variables: MAKEFILE_JOBS: 5 CCACHE_SIZE: 2G #this option is used to speedup submodule building times, when we don't need to trace debug (like SDK where it is already tested in its project) - LBC_NODEBUG_OPTIONS : --parallel $MAKEFILE_JOBS + LBC_NODEBUG_OPTIONS : --parallel $MAKEFILE_JOBS DEFAULT_LINUX_CMAKE_OPTIONS: -DCMAKE_BUILD_PARALLEL_LEVEL=$MAKEFILE_JOBS DEFAULT_MACOS_CMAKE_OPTIONS: -DCMAKE_BUILD_PARALLEL_LEVEL=$MAKEFILE_JOBS DEFAULT_WINDOWS_CMAKE_OPTIONS: -DCMAKE_BUILD_PARALLEL_LEVEL=$MAKEFILE_JOBS - + # DEFAULT_LINUX_CMAKE_OPTIONS: -DENABLE_NON_FREE_CODECS=YES -DENABLE_OPENH264=YES # DEFAULT_MACOS_CMAKE_OPTIONS: -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 -DENABLE_UPDATE_CHECK=YES # DEFAULT_WINDOWS_CMAKE_OPTIONS: -DENABLE_NON_FREE_CODECS=YES -DENABLE_OPENH264=YES -DENABLE_UPDATE_CHECK=YES @@ -22,13 +22,13 @@ variables: # Docker image version ARCHLINUX_IMAGE_VERSION: latestupdated - CENTOS_7_QT_IMAGE_VERSION: 20210401_python3 + CENTOS_7_QT_IMAGE_VERSION: 20211012_add_qtwebview DEBIAN_9_QT_IMAGE_VERSION: 20210401_python3 DEBIAN_10_IMAGE_VERSION: 20210217_python3 - UBUNTU_ROLLING_IMAGE_VERSION: 20210217_python3 + UBUNTU_ROLLING_IMAGE_VERSION: 20211012_add_qtwebview ################################################# -# Platforms to test +# Platforms to test ################################################# .job-prepare: diff --git a/docker-files/bc-dev-ubuntu-rolling-qt-fuse-wget-gpg2 b/docker-files/bc-dev-ubuntu-rolling-qt-fuse-wget-gpg2 new file mode 100644 index 000000000..ed306bd22 --- /dev/null +++ b/docker-files/bc-dev-ubuntu-rolling-qt-fuse-wget-gpg2 @@ -0,0 +1,35 @@ +FROM gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu-rolling:20210217_python3 + +MAINTAINER Peio Rigaux + +#Tools for QT buid script +RUN sudo apt-get update && sudo apt-get install -y pigz + +RUN sudo ln -s /usr/bin/python3 /usr/bin/python + +#QT Dependencies +#atspi and dbus may be used to enable qt accessibility for screan reader +#xkbcommon is needed for special keyboard features +#flite1-dev, libspeechd-dev speech-dispatcher are needed for text to speech +#libfontconfig1-dev is needed to load correct fonts (support of ideograms, etc..) +RUN sudo apt-get update && sudo apt-get install -y libxkbcommon* libxcb-xfixes0-dev flite1-dev libspeechd-dev speech-dispatcher libfontconfig1-dev qdbus-qt5 libqt5dbus5 libdbus-1-dev libdbus-glib-1-dev libatspi2.0-0 libatspi2.0-dev + +#needed fot qt to find dbus +ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig +# Build qt5.12.5 +RUN git clone -b master --single-branch https://gitlab.linphone.org/BC/public/linphone-desktop.git && \ + ./linphone-desktop/tools/build_qt_rpm && \ + find "./linphone-desktop/rpm-linphone-qt-5.12.5/rpmbuild/RPMS/x86_64/" -iname "*.rpm" -exec sudo fakeroot alien -d {} + && \ + find "." -maxdepth 1 -iname "*.deb" -exec sudo dpkg -i --force-overwrite {} + && \ + rm -rf ./linphone-desktop + +ENV Qt5_DIR=/opt/com.belledonne-communications/linphone/lib/cmake +ENV PATH=/opt/com.belledonne-communications/linphone/bin:$PATH + +#Appimage deps +RUN sudo apt-get install -y wget fuse libfuse2 gnupg2 + +USER bc +WORKDIR /home/bc +ENV PS1='\[\e[34m\]\u@bc-dev-centos7>\[\e[0m\] ' +CMD bash