diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4750b38d4..18a02c699 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,7 +2,7 @@ variables: GIT_SUBMODULE_STRATEGY: recursive -.linux-ccache-template: &linux-ccache-definition +.linux-ccache: cache: key: $CI_JOB_NAME paths: @@ -14,25 +14,46 @@ variables: - export CCACHE_DIR=${PWD}/ccache -.job-linux-desktop-template: &job-linux-desktop-definition +.job-linux-desktop: tags: [ "docker" ] - <<: *linux-ccache-definition + extends: .linux-ccache script: - export CC=$CC - export CXX=$CXX - ccache -s - ./prepare.py -G "$CMAKE_GENERATOR" -cc -DENABLE_NON_FREE_CODECS=YES -DENABLE_OPENH264=YES - - cmake --build WORK/desktop/cmake -- $ADDITIONAL_BUILD_OPTIONS >> build_log.txt 2>&1 + - cmake --build WORK/desktop/cmake -- $ADDITIONAL_BUILD_OPTIONS - ccache -s - artifacts: - paths: - - build_log.txt - when: always - expire_in: 1 week + +.scheduled-job-linux-desktop: + + extends: .job-linux-desktop + only: + - schedules + + +job-debian9-makefile-gcc: + + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9 + variables: + CMAKE_GENERATOR: Unix Makefiles + CC: gcc + CXX: g++ + extends: .scheduled-job-linux-desktop + + +job-debian9-makefile-clang: + + image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9 + variables: + CMAKE_GENERATOR: Unix Makefiles + CC: clang + CXX: clang++ + extends: .scheduled-job-linux-desktop job-debian9-ninja-gcc: @@ -42,7 +63,7 @@ job-debian9-ninja-gcc: CMAKE_GENERATOR: Ninja CC: gcc CXX: g++ - <<: *job-linux-desktop-definition + extends: .job-linux-desktop job-debian9-ninja-clang: @@ -52,10 +73,10 @@ job-debian9-ninja-clang: CMAKE_GENERATOR: Ninja CC: clang CXX: clang++ - <<: *job-linux-desktop-definition + extends: .job-linux-desktop -.job-macosx-template: &job-macosx-definition +.job-macosx: tags: [ "macosx" ] @@ -64,31 +85,56 @@ job-debian9-ninja-clang: - 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 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DENABLE_UPDATE_CHECK=YES - - cmake --build WORK/desktop/cmake -- $ADDITIONAL_BUILD_OPTIONS >> build_log.txt 2>&1 + - cmake --build WORK/desktop/cmake -- $ADDITIONAL_BUILD_OPTIONS - ccache -s artifacts: paths: - - build_log.txt - 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 + extends: .scheduled-job-macosx + + job-macosx-ninja: variables: CMAKE_GENERATOR: Ninja - <<: *job-macosx-definition + extends: .job-macosx job-macosx-xcode: - variables: - CMAKE_GENERATOR: Xcode - ADDITIONAL_BUILD_OPTIONS: -IDEBuildOperationMaxNumberOfConcurrentCompileTasks=2 - <<: *job-macosx-definition + 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 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DENABLE_UPDATE_CHECK=YES + - 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: