From cc95894039b6a981c00ca32f46bd5b90c439db5f Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Fri, 4 Jan 2019 15:37:28 +0100 Subject: [PATCH] Feature/enhance gitlab ci files --- .gitlab-ci-files/job-linux-archlinux.yml | 51 ++++ .gitlab-ci-files/job-linux-centos7.yml | 79 +++++ .gitlab-ci-files/job-linux-debian8.yml | 51 ++++ .gitlab-ci-files/job-linux-debian9.yml | 51 ++++ .gitlab-ci-files/job-linux-ubuntu.yml | 51 ++++ .gitlab-ci-files/job-linux.yml | 66 ++++ .gitlab-ci-files/job-macosx.yml | 75 +++++ .gitlab-ci-files/job-windows.yml | 21 ++ .gitlab-ci.yml | 367 ++--------------------- linphone-sdk | 2 +- 10 files changed, 469 insertions(+), 345 deletions(-) create mode 100644 .gitlab-ci-files/job-linux-archlinux.yml create mode 100644 .gitlab-ci-files/job-linux-centos7.yml create mode 100644 .gitlab-ci-files/job-linux-debian8.yml create mode 100644 .gitlab-ci-files/job-linux-debian9.yml create mode 100644 .gitlab-ci-files/job-linux-ubuntu.yml create mode 100644 .gitlab-ci-files/job-linux.yml create mode 100644 .gitlab-ci-files/job-macosx.yml create mode 100644 .gitlab-ci-files/job-windows.yml diff --git a/.gitlab-ci-files/job-linux-archlinux.yml b/.gitlab-ci-files/job-linux-archlinux.yml new file mode 100644 index 000000000..9dedf4a90 --- /dev/null +++ b/.gitlab-ci-files/job-linux-archlinux.yml @@ -0,0 +1,51 @@ +################################################# +# Makefile +################################################# + +job-archlinux-latest-makefile-gcc: + + tags: [ "docker-archlinux-latest" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest + variables: + CMAKE_GENERATOR: Unix Makefiles + CC: gcc + CXX: g++ + ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS + extends: .scheduled-job-linux-desktop + + +job-archlinux-latest-makefile-clang: + + tags: [ "docker-archlinux-latest" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest + variables: + CMAKE_GENERATOR: Unix Makefiles + CC: clang + CXX: clang++ + ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS + extends: .scheduled-job-linux-desktop + +################################################# +# Ninja +################################################# + +job-archlinux-latest-ninja-gcc: + + tags: [ "docker-archlinux-latest" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest + variables: + CMAKE_GENERATOR: Ninja + CC: gcc + CXX: g++ + extends: .job-linux-desktop + + +job-archlinux-latest-ninja-clang: + + tags: [ "docker-archlinux-latest" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest + variables: + CMAKE_GENERATOR: Ninja + CC: clang + CXX: clang++ + extends: .job-linux-desktop \ No newline at end of file diff --git a/.gitlab-ci-files/job-linux-centos7.yml b/.gitlab-ci-files/job-linux-centos7.yml new file mode 100644 index 000000000..c56c0bf53 --- /dev/null +++ b/.gitlab-ci-files/job-linux-centos7.yml @@ -0,0 +1,79 @@ +################################################# +# Makefile +################################################# + +job-centos7-makefile-gcc: + + tags: [ "docker-centos7" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7 + variables: + CMAKE_GENERATOR: Unix Makefiles + CC: gcc + CXX: g++ + ADDITIONAL_BUILD_OPTIONS: -j1 + extends: .job-linux-desktop + + +job-centos7-makefile-clang: + + tags: [ "docker-centos7" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7 + variables: + CMAKE_GENERATOR: Unix Makefiles + CC: clang + CXX: clang++ + ADDITIONAL_BUILD_OPTIONS: -j1 + extends: .job-linux-desktop + +################################################# +# Ninja +################################################# + +#job-centos7-ninja-gcc: +# +# tags: [ "docker-centos7" ] +# image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7 +# variables: +# CMAKE_GENERATOR: Ninja +# CC: gcc +# CXX: g++ +# extends: .job-linux-desktop + + +#job-centos7-ninja-clang: +# +# tags: [ "docker-centos7" ] +# image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7 +# variables: +# CMAKE_GENERATOR: Ninja +# CC: clang +# CXX: clang++ +# extends: .job-linux-desktop + +################################################# +# RPM +################################################# + +job-centos7-rpm: + + tags: [ "docker-centos7" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7 + extends: .job-linux-rpm + +################################################# +# Deploy +################################################# + +job-centos7-rpm-deploy: + + stage: deploy + tags: [ "deploy" ] + + only: + - schedules + dependencies: + - job-centos7-rpm + + script: + - cd WORK/desktop-rpm/rpmbuild/RPMS/x86_64/ && rsync -pr . $DEPLOY_SERVER:$CENTOS7_DEPLOY_DIRECTORY + - ssh $DEPLOY_SERVER "chmod a+r $CENTOS7_DEPLOY_DIRECTORY/*.rpm && createrepo_c --update $CENTOS7_DEPLOY_DIRECTORY/." \ No newline at end of file diff --git a/.gitlab-ci-files/job-linux-debian8.yml b/.gitlab-ci-files/job-linux-debian8.yml new file mode 100644 index 000000000..346ea4f19 --- /dev/null +++ b/.gitlab-ci-files/job-linux-debian8.yml @@ -0,0 +1,51 @@ +################################################# +# Makefile +################################################# + +job-debian8-makefile-gcc: + + tags: [ "docker-debian8" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8 + variables: + CMAKE_GENERATOR: Unix Makefiles + CC: gcc + CXX: g++ + ADDITIONAL_BUILD_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 + variables: + CMAKE_GENERATOR: Unix Makefiles + CC: clang + CXX: clang++ + ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS + extends: .job-linux-desktop + +################################################# +# Ninja +################################################# + +#job-debian8-ninja-gcc: +# +# tags: [ "docker-debian8" ] +# image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8 +# variables: +# CMAKE_GENERATOR: Ninja +# CC: gcc +# CXX: g++ +# extends: .job-linux-desktop + + +#job-debian8-ninja-clang: +# +# tags: [ "docker-debian8" ] +# image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8 +# variables: +# CMAKE_GENERATOR: Ninja +# CC: clang +# CXX: clang++ +# extends: .job-linux-desktop \ No newline at end of file diff --git a/.gitlab-ci-files/job-linux-debian9.yml b/.gitlab-ci-files/job-linux-debian9.yml new file mode 100644 index 000000000..16a57ae16 --- /dev/null +++ b/.gitlab-ci-files/job-linux-debian9.yml @@ -0,0 +1,51 @@ +################################################# +# Makefile +################################################# + +job-debian9-makefile-gcc: + + tags: [ "docker-debian9" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9 + variables: + CMAKE_GENERATOR: Unix Makefiles + CC: gcc + CXX: g++ + ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS + extends: .scheduled-job-linux-desktop + + +job-debian9-makefile-clang: + + tags: [ "docker-debian9" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9 + variables: + CMAKE_GENERATOR: Unix Makefiles + CC: clang + CXX: clang++ + ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS + extends: .scheduled-job-linux-desktop + +################################################# +# Ninja +################################################# + +job-debian9-ninja-gcc: + + tags: [ "docker-debian9" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9 + variables: + CMAKE_GENERATOR: Ninja + CC: gcc + CXX: g++ + extends: .job-linux-desktop + + +job-debian9-ninja-clang: + + tags: [ "docker-debian9" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9 + variables: + CMAKE_GENERATOR: Ninja + CC: clang + CXX: clang++ + extends: .job-linux-desktop \ No newline at end of file diff --git a/.gitlab-ci-files/job-linux-ubuntu.yml b/.gitlab-ci-files/job-linux-ubuntu.yml new file mode 100644 index 000000000..3dde1fdbc --- /dev/null +++ b/.gitlab-ci-files/job-linux-ubuntu.yml @@ -0,0 +1,51 @@ +################################################# +# Makefile +################################################# + +job-ubuntu-rolling-makefile-gcc: + + tags: [ "docker-ubuntu-rolling" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling + variables: + CMAKE_GENERATOR: Unix Makefiles + CC: gcc + CXX: g++ + ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS + extends: .scheduled-job-linux-desktop + + +job-ubuntu-rolling-makefile-clang: + + tags: [ "docker-ubuntu-rolling" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling + variables: + CMAKE_GENERATOR: Unix Makefiles + CC: clang + CXX: clang++ + ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS + extends: .scheduled-job-linux-desktop + +################################################# +# Ninja +################################################# + +job-ubuntu-rolling-ninja-gcc: + + tags: [ "docker-ubuntu-rolling" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling + variables: + CMAKE_GENERATOR: Ninja + CC: gcc + CXX: g++ + extends: .job-linux-desktop + + +job-ubuntu-rolling-ninja-clang: + + tags: [ "docker-ubuntu-rolling" ] + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling + variables: + CMAKE_GENERATOR: Ninja + CC: clang + CXX: clang++ + extends: .job-linux-desktop \ No newline at end of file diff --git a/.gitlab-ci-files/job-linux.yml b/.gitlab-ci-files/job-linux.yml new file mode 100644 index 000000000..6a9814f24 --- /dev/null +++ b/.gitlab-ci-files/job-linux.yml @@ -0,0 +1,66 @@ +################################################# +# Ccache +################################################# + +.linux-ccache: + + cache: + key: $CI_JOB_NAME + paths: + - ccache/ + + before_script: + - mkdir -p ccache + - echo "max_size = $CCACHE_SIZE" > ccache/ccache.conf + - export CCACHE_BASEDIR=${PWD} + - export CCACHE_DIR=${PWD}/ccache + - ccache -s + + after_script: + - export CCACHE_DIR=${PWD}/ccache + - ccache -s + +################################################# +# Job +################################################# + +.job-linux-desktop: + + stage: build + + extends: .linux-ccache + + script: + - export CC=$CC + - export CXX=$CXX + - ./prepare.py -G "$CMAKE_GENERATOR" -cc $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS + - cmake --build WORK/desktop/cmake -- $ADDITIONAL_BUILD_OPTIONS + +################################################# +# RPM +################################################# + +.job-linux-rpm: + + stage: package + + script: + - sudo rpm -i --replacepkgs /linphone-qt-* + - ./prepare.py desktop-rpm $DEFAULT_CMAKE_OPTIONS $CMAKE_OPTIONS + - make + + artifacts: + paths: + - WORK/desktop-rpm/rpmbuild/RPMS/x86_64/*.rpm + when: always + expire_in: 1 week + +################################################# +# Schedule +################################################# + +.scheduled-job-linux-desktop: + + extends: .job-linux-desktop + only: + - schedules \ No newline at end of file diff --git a/.gitlab-ci-files/job-macosx.yml b/.gitlab-ci-files/job-macosx.yml new file mode 100644 index 000000000..5da3bac75 --- /dev/null +++ b/.gitlab-ci-files/job-macosx.yml @@ -0,0 +1,75 @@ + +.job-macosx: + + stage: build + + tags: [ "macosx" ] + + script: + - ccache -s + - export Qt5_DIR=/usr/local/opt/qt/lib/cmake + - export PATH=$PATH:/usr/local/opt/qt/bin + - python prepare.py -G "$CMAKE_GENERATOR" -cc --package $DEFAULT_MACOS_CMAKE_OPTIONS $CMAKE_OPTIONS + - cmake --build WORK/desktop/cmake -- $ADDITIONAL_BUILD_OPTIONS + - ccache -s + + artifacts: + paths: + - WORK/desktop/Build/linphone_package/Linphone-*.dmg + - WORK/desktop/Build/linphone_package/linphone-sdk-*-mac.zip + when: always + expire_in: 1 week + + +.scheduled-job-macosx: + + extends: .job-macosx + only: + - schedules + + +################################################# +# Makefile +################################################# + +job-macosx-makefile: + + variables: + CMAKE_GENERATOR: Unix Makefiles + ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS + extends: .scheduled-job-macosx + +################################################# +# Ninja +################################################# + +job-macosx-ninja: + + variables: + CMAKE_GENERATOR: Ninja + extends: .job-macosx + +################################################# +# Xcode +################################################# + +job-macosx-xcode: + + stage: build + + tags: [ "macosx" ] + + only: + - schedules + script: + - export Qt5_DIR=/usr/local/opt/qt/lib/cmake + - export PATH=$PATH:/usr/local/opt/qt/bin + - python prepare.py -G Xcode -cc --package $DEFAULT_MACOS_CMAKE_OPTIONS $CMAKE_OPTIONS + - cmake --build WORK/desktop/cmake -- -IDEBuildOperationMaxNumberOfConcurrentCompileTasks=`sysctl -n hw.ncpu` + + artifacts: + paths: + - WORK/desktop/Build/linphone_package/Linphone-*.dmg + - WORK/desktop/Build/linphone_package/linphone-sdk-*-mac.zip + when: always + expire_in: 1 week \ No newline at end of file diff --git a/.gitlab-ci-files/job-windows.yml b/.gitlab-ci-files/job-windows.yml new file mode 100644 index 000000000..1cdf44108 --- /dev/null +++ b/.gitlab-ci-files/job-windows.yml @@ -0,0 +1,21 @@ +################################################# +# Visual Studio 2015 +################################################# + +job-windows-vs2015: + + stage: build + + tags: [ "windows" ] + + script: + - echo %Qt5_DIR% + - echo %PATH% + - if DEFINED WINDOWS_SIGNING_DIRECTORY ( xcopy /I /Y "%WINDOWS_SIGNING_DIRECTORY%" "cmake_builder\\linphone_package\\sign" ) + - python prepare.py -G "Visual Studio 14 2015" --package %DEFAULT_WINDOWS_CMAKE_OPTIONS% %CMAKE_OPTIONS% + - cmake --build WORK/desktop/cmake --config Release -- /maxcpucount + + artifacts: + paths: + - WORK/desktop/Build/linphone_package/Linphone-*-win32.exe + expire_in: 1 week diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a8c318422..2bbfd2f80 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,7 @@ +################################################# +# Base configuration +################################################# + variables: GIT_SUBMODULE_STRATEGY: recursive MAKEFILE_JOBS: 5 @@ -7,347 +11,22 @@ variables: DEFAULT_WINDOWS_CMAKE_OPTIONS: -DENABLE_NON_FREE_CODECS=YES -DENABLE_OPENH264=YES -DENABLE_UPDATE_CHECK=YES -.linux-ccache: - - cache: - key: $CI_JOB_NAME - paths: - - ccache/ - - before_script: - - mkdir -p ccache - - echo "max_size = $CCACHE_SIZE" > ccache/ccache.conf - - export CCACHE_BASEDIR=${PWD} - - export CCACHE_DIR=${PWD}/ccache - - ccache -s - - after_script: - - export CCACHE_DIR=${PWD}/ccache - - ccache -s - - -.job-linux-desktop: - - extends: .linux-ccache - - script: - - export CC=$CC - - export CXX=$CXX - - ./prepare.py -G "$CMAKE_GENERATOR" -cc $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS - - cmake --build WORK/desktop/cmake -- $ADDITIONAL_BUILD_OPTIONS - - -.scheduled-job-linux-desktop: - - extends: .job-linux-desktop - only: - - schedules - - -job-archlinux-latest-makefile-gcc: - - tags: [ "docker-archlinux-latest" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest - variables: - CMAKE_GENERATOR: Unix Makefiles - CC: gcc - CXX: g++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .scheduled-job-linux-desktop - - -job-archlinux-latest-makefile-clang: - - tags: [ "docker-archlinux-latest" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest - variables: - CMAKE_GENERATOR: Unix Makefiles - CC: clang - CXX: clang++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .scheduled-job-linux-desktop - - -job-archlinux-latest-ninja-gcc: - - tags: [ "docker-archlinux-latest" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest - variables: - CMAKE_GENERATOR: Ninja - CC: gcc - CXX: g++ - extends: .job-linux-desktop - - -job-archlinux-latest-ninja-clang: - - tags: [ "docker-archlinux-latest" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest - variables: - CMAKE_GENERATOR: Ninja - CC: clang - CXX: clang++ - extends: .job-linux-desktop - - -job-centos7-makefile-gcc: - - tags: [ "docker-centos7" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7 - variables: - CMAKE_GENERATOR: Unix Makefiles - CC: gcc - CXX: g++ - ADDITIONAL_BUILD_OPTIONS: -j1 - extends: .job-linux-desktop - - -job-centos7-makefile-clang: - - tags: [ "docker-centos7" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7 - variables: - CMAKE_GENERATOR: Unix Makefiles - CC: clang - CXX: clang++ - ADDITIONAL_BUILD_OPTIONS: -j1 - extends: .job-linux-desktop - - -#job-centos7-ninja-gcc: -# -# tags: [ "docker-centos7" ] -# image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7 -# variables: -# CMAKE_GENERATOR: Ninja -# CC: gcc -# CXX: g++ -# extends: .job-linux-desktop - - -#job-centos7-ninja-clang: -# -# tags: [ "docker-centos7" ] -# image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7 -# variables: -# CMAKE_GENERATOR: Ninja -# CC: clang -# CXX: clang++ -# extends: .job-linux-desktop - - -job-debian8-makefile-gcc: - - tags: [ "docker-debian8" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8 - variables: - CMAKE_GENERATOR: Unix Makefiles - CC: gcc - CXX: g++ - ADDITIONAL_BUILD_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 - variables: - CMAKE_GENERATOR: Unix Makefiles - CC: clang - CXX: clang++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .job-linux-desktop - - -#job-debian8-ninja-gcc: -# -# tags: [ "docker-debian8" ] -# image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8 -# variables: -# CMAKE_GENERATOR: Ninja -# CC: gcc -# CXX: g++ -# extends: .job-linux-desktop - - -#job-debian8-ninja-clang: -# -# tags: [ "docker-debian8" ] -# image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8 -# variables: -# CMAKE_GENERATOR: Ninja -# CC: clang -# CXX: clang++ -# extends: .job-linux-desktop - - -job-debian9-makefile-gcc: - - tags: [ "docker-debian9" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9 - variables: - CMAKE_GENERATOR: Unix Makefiles - CC: gcc - CXX: g++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .scheduled-job-linux-desktop - - -job-debian9-makefile-clang: - - tags: [ "docker-debian9" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9 - variables: - CMAKE_GENERATOR: Unix Makefiles - CC: clang - CXX: clang++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .scheduled-job-linux-desktop - - -job-debian9-ninja-gcc: - - tags: [ "docker-debian9" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9 - variables: - CMAKE_GENERATOR: Ninja - CC: gcc - CXX: g++ - extends: .job-linux-desktop - - -job-debian9-ninja-clang: - - tags: [ "docker-debian9" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9 - variables: - CMAKE_GENERATOR: Ninja - CC: clang - CXX: clang++ - extends: .job-linux-desktop - - -job-ubuntu-rolling-makefile-gcc: - - tags: [ "docker-ubuntu-rolling" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling - variables: - CMAKE_GENERATOR: Unix Makefiles - CC: gcc - CXX: g++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .scheduled-job-linux-desktop - - -job-ubuntu-rolling-makefile-clang: - - tags: [ "docker-ubuntu-rolling" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling - variables: - CMAKE_GENERATOR: Unix Makefiles - CC: clang - CXX: clang++ - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .scheduled-job-linux-desktop - - -job-ubuntu-rolling-ninja-gcc: - - tags: [ "docker-ubuntu-rolling" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling - variables: - CMAKE_GENERATOR: Ninja - CC: gcc - CXX: g++ - extends: .job-linux-desktop - - -job-ubuntu-rolling-ninja-clang: - - tags: [ "docker-ubuntu-rolling" ] - image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling - variables: - CMAKE_GENERATOR: Ninja - CC: clang - CXX: clang++ - extends: .job-linux-desktop - - -.job-macosx: - - tags: [ "macosx" ] - - script: - - ccache -s - - export Qt5_DIR=/usr/local/opt/qt/lib/cmake - - export PATH=$PATH:/usr/local/opt/qt/bin - - python prepare.py -G "$CMAKE_GENERATOR" -cc --package $DEFAULT_MACOS_CMAKE_OPTIONS $CMAKE_OPTIONS - - cmake --build WORK/desktop/cmake -- $ADDITIONAL_BUILD_OPTIONS - - ccache -s - - artifacts: - paths: - - WORK/desktop/Build/linphone_package/Linphone-*.dmg - - WORK/desktop/Build/linphone_package/linphone-sdk-*-mac.zip - when: always - expire_in: 1 week - - -.scheduled-job-macosx: - - extends: .job-macosx - only: - - schedules - - -job-macosx-makefile: - - variables: - CMAKE_GENERATOR: Unix Makefiles - ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS - extends: .scheduled-job-macosx - - -job-macosx-ninja: - - variables: - CMAKE_GENERATOR: Ninja - extends: .job-macosx - - -job-macosx-xcode: - - tags: [ "macosx" ] - - only: - - schedules - script: - - export Qt5_DIR=/usr/local/opt/qt/lib/cmake - - export PATH=$PATH:/usr/local/opt/qt/bin - - python prepare.py -G Xcode -cc --package $DEFAULT_MACOS_CMAKE_OPTIONS $CMAKE_OPTIONS - - cmake --build WORK/desktop/cmake -- -IDEBuildOperationMaxNumberOfConcurrentCompileTasks=`sysctl -n hw.ncpu` - - artifacts: - paths: - - WORK/desktop/Build/linphone_package/Linphone-*.dmg - - WORK/desktop/Build/linphone_package/linphone-sdk-*-mac.zip - when: always - expire_in: 1 week - - -job-windows-vs2015: - - tags: [ "windows" ] - - script: - - echo %Qt5_DIR% - - echo %PATH% - - if DEFINED WINDOWS_SIGNING_DIRECTORY ( xcopy /I /Y "%WINDOWS_SIGNING_DIRECTORY%" "cmake_builder\\linphone_package\\sign" ) - - python prepare.py -G "Visual Studio 14 2015" --package %DEFAULT_WINDOWS_CMAKE_OPTIONS% %CMAKE_OPTIONS% - - cmake --build WORK/desktop/cmake --config Release -- /maxcpucount - - artifacts: - paths: - - WORK/desktop/Build/linphone_package/Linphone-*-win32.exe - expire_in: 1 week +################################################# +# Platforms to test +################################################# + +include: + - '.gitlab-ci-files/job-linux.yml' + - '.gitlab-ci-files/job-linux-archlinux.yml' + - '.gitlab-ci-files/job-linux-centos7.yml' + - '.gitlab-ci-files/job-linux-debian8.yml' + - '.gitlab-ci-files/job-linux-debian9.yml' + - '.gitlab-ci-files/job-linux-ubuntu.yml' + - '.gitlab-ci-files/job-macosx.yml' + - '.gitlab-ci-files/job-windows.yml' + + +stages: + - build + - package + - deploy \ No newline at end of file diff --git a/linphone-sdk b/linphone-sdk index aed01272d..a46331c82 160000 --- a/linphone-sdk +++ b/linphone-sdk @@ -1 +1 @@ -Subproject commit aed01272d798738407b932a94b711974c6f82dd2 +Subproject commit a46331c82ce16a427bf486f029af34e9c50d7c9c