An error occurred while loading the file. Please try again.
-
Ghislain MARY authoredaed01272
This GitLab CI configuration is valid.
Learn more
variables:
GIT_SUBMODULE_STRATEGY: recursive
MAKEFILE_JOBS: 5
CCACHE_SIZE: 2G
stages:
- build
- deploy
.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-android:
stage: build
tags: [ "docker-android" ]
variables:
CCACHE_SIZE: 4G
extends: .linux-ccache
script:
- sdkmanager
- mkdir -p build-android
- cd build-android
- cmake .. -G "$CMAKE_GENERATOR" -DLINPHONESDK_PLATFORM=Android -DLINPHONESDK_ANDROID_ARCHS="arm64, armv7, x86, x86_64" $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS
- cmake --build . --target sdk -- $ADDITIONAL_BUILD_OPTIONS
artifacts:
paths:
- build-android/linphone-sdk/bin/outputs/aar/*.aar
- build-android/linphone-sdk/bin/distributions/linphone-sdk-*.zip
when: always
expire_in: 1 week
.scheduled-job-android:
extends: .job-android
only:
- schedules
job-android-makefile-r16b:
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-android:r16b
variables:
CMAKE_GENERATOR: Unix Makefiles
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
extends: .scheduled-job-android
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
job-android-ninja-r16b:
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-android:r16b
variables:
CMAKE_GENERATOR: Ninja
extends: .job-android
job-android-ninja-r16b-novideo:
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-android-ninja-r16b
job-android-makefile-r17c:
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-android:r17c
variables:
CMAKE_GENERATOR: Unix Makefiles
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
extends: .scheduled-job-android
job-android-ninja-r17c:
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-android:r17c
variables:
CMAKE_GENERATOR: Ninja
extends: .job-android
job-android-ninja-r17c-novideo:
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-android-ninja-r17c
.job-ios:
stage: build
tags: [ "macosx" ]
script:
- ccache -s
- mkdir -p build-ios
- cd build-ios
- cmake .. -G "$CMAKE_GENERATOR" -DLINPHONESDK_PLATFORM=IOS -DLINPHONESDK_IOS_ARCHS="arm64, armv7, x86_64" $CMAKE_OPTIONS
- cmake --build . --target sdk -- $ADDITIONAL_BUILD_OPTIONS
- ccache -s
artifacts:
paths:
- build-ios/linphone-sdk-*.zip
- build-ios/linphone-sdk.podspec
when: always
expire_in: 1 week
.scheduled-job-ios:
extends: .job-ios
only:
- schedules
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
job-ios-makefile:
variables:
CMAKE_GENERATOR: Unix Makefiles
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
extends: .scheduled-job-ios
job-ios-ninja:
variables:
CMAKE_GENERATOR: Ninja
extends: .job-ios
job-ios-ninja-novideo:
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-ios-ninja
job-ios-xcode:
stage: build
tags: [ "macosx" ]
only:
- schedules
script:
- mkdir -p build-ios
- cd build-ios
- cmake .. -G Xcode -DLINPHONESDK_PLATFORM=IOS -DLINPHONESDK_IOS_ARCHS="arm64, armv7, x86_64" -DLINPHONESDK_IOS_BASE_URL=$IOS_SNAPSHOTS_URL $CMAKE_OPTIONS
- cmake --build . --target sdk -- -IDEBuildOperationMaxNumberOfConcurrentCompileTasks=`sysctl -n hw.ncpu`
artifacts:
paths:
- build-ios/linphone-sdk-*.zip
- build-ios/linphone-sdk.podspec
when: always
expire_in: 1 week
job-ios-upload:
stage: deploy
tags: [ "deploy" ]
only:
- schedules
dependencies:
- job-ios-xcode
script:
- scp build-ios/linphone-sdk-*.zip $DEPLOY_SERVER:$DEPLOY_SNAPSHOTS_ROOT_DIRECTORY/ios/
- pod repo remove linphone-sdk || true
- pod repo add linphone-sdk git@gitlab.linphone.org:BC/public/podspec.git $CI_COMMIT_REF_NAME
- pod repo push linphone-sdk build-ios/linphone-sdk.podspec --skip-import-validation --local-only --verbose
- cd ~/.cocoapods/repos/linphone-sdk && git push origin $CI_COMMIT_REF_NAME && cd -
- pod repo remove linphone-sdk
.job-linux-desktop:
stage: build
extends: .linux-ccache
script:
211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
- export CC=$CC
- export CXX=$CXX
- mkdir -p build-desktop
- cd build-desktop
- cmake .. -G "$CMAKE_GENERATOR" -DLINPHONESDK_PLATFORM=Desktop $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS
- cmake --build . --target sdk -- $ADDITIONAL_BUILD_OPTIONS
.scheduled-job-linux-desktop:
extends: .job-linux-desktop
only:
- schedules
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++
extends: .scheduled-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: .scheduled-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-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-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
281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
job-centos7-ninja-gcc-novideo:
tags: [ "docker-centos7" ]
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-centos7-ninja-gcc
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-gcc-novideo:
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-debian8-ninja-gcc
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-gcc-novideo:
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-debian9-ninja-gcc
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-gcc-novideo:
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-ubuntu-rolling-ninja-gcc
351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420
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++
extends: .scheduled-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: .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-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-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-centos7-ninja-clang-novideo:
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-centos7-ninja-clang
job-debian8-ninja-clang:
421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
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-debian8-ninja-clang-novideo:
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-debian8-ninja-clang
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-debian9-ninja-clang-novideo:
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-debian9-ninja-clang
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-ubuntu-rolling-ninja-clang-novideo:
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-ubuntu-rolling-ninja-clang
.job-macosx-desktop:
stage: build
tags: [ "macosx" ]
script:
- ccache -s
- mkdir -p build-desktop
- cd build-desktop
- cmake .. -G "$CMAKE_GENERATOR" -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 $CMAKE_OPTIONS
- cmake --build . --target sdk -- $ADDITIONAL_BUILD_OPTIONS
491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560
- ccache -s
job-macosx-makefile:
only:
- schedules
variables:
CMAKE_GENERATOR: Unix Makefiles
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
extends: .job-macosx-desktop
job-macosx-ninja:
variables:
CMAKE_GENERATOR: Ninja
extends: .job-macosx-desktop
job-macosx-ninja-novideo:
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-macosx-ninja
job-macosx-xcode:
stage: build
tags: [ "macosx" ]
only:
- schedules
script:
- mkdir -p build-desktop
- cd build-desktop
- cmake .. -G Xcode -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 $CMAKE_OPTIONS
- cmake --build . --target sdk -- -IDEBuildOperationMaxNumberOfConcurrentCompileTasks=`sysctl -n hw.ncpu`
job-windows-vs2015:
stage: build
tags: [ "windows" ]
script:
- mkdir build-desktop
- cd build-desktop
- cmake .. -G "Visual Studio 14 2015" -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_BUILD_TYPE=Release %CMAKE_OPTIONS%
- cmake --build . --target sdk --config Release -- /maxcpucount
job-windows-vs2015-novideo:
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-windows-vs2015
#job-uwp-vs2017:
#
# stage: build
# tags: [ "windows" ]
#
# script:
561562563564565
# - mkdir build-uwp
# - cd build-uwp
# - cmake .. -G "Visual Studio 15 2017" -DLINPHONESDK_PLATFORM=UWP -DCMAKE_BUILD_TYPE=Release -DENABLE_FFMPEG=NO -DENABLE_VPX=NO
# - cmake --build . --config Release