Commit b3397a14 authored by Peio Rigaux's avatar Peio Rigaux

attempt to turn tets jobs in parallel for bctoolbox, bellesip, bzrtp, belr,...

attempt to turn tets jobs in parallel for bctoolbox, bellesip, bzrtp, belr, and bzrtp to compare results and time spent
parent 240f4200
......@@ -41,6 +41,8 @@ job-android-makefile-r16b:
variables:
- $DEPLOY_RUN_ANDROID
- $DEPLOY_RUN_IOS
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
......@@ -54,6 +56,8 @@ job-android-makefile-r17c:
variables:
- $DEPLOY_RUN_ANDROID
- $DEPLOY_RUN_IOS
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
......@@ -68,6 +72,8 @@ job-android-makefile-r18b:
variables:
- $DEPLOY_RUN_ANDROID
- $DEPLOY_RUN_IOS
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
......@@ -79,8 +85,11 @@ job-android-makefile-r19:
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-android:r19
except:
variables:
- $DEPLOY_RUN_ANDROID
- $DEPLOY_RUN_IOS
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
......@@ -99,15 +108,19 @@ job-android-ninja-r16b:
variables:
- $DEPLOY_RUN_ANDROID
- $DEPLOY_RUN_IOS
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Ninja
extends: .scheduled-job-android
job-android-ninja-r16b-novideo:
only:
- schedules
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-android-ninja-r16b
......@@ -119,6 +132,8 @@ job-android-ninja-r17c:
except:
variables:
- $DEPLOY_RUN_IOS
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Ninja
CMAKE_OPTIONS: -DENABLE_AAUDIO=ON
......@@ -126,7 +141,9 @@ job-android-ninja-r17c:
job-android-ninja-r17c-novideo:
except:
variables:
- $FAST_LINUX_TESTS
only:
- schedules
except:
......@@ -145,6 +162,8 @@ job-android-ninja-r18b:
variables:
- $DEPLOY_RUN_ANDROID
- $DEPLOY_RUN_IOS
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Ninja
CMAKE_OPTIONS: -DENABLE_AAUDIO=ON
......@@ -158,6 +177,8 @@ job-android-ninja-r19:
variables:
- $DEPLOY_RUN_ANDROID
- $DEPLOY_RUN_IOS
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Ninja
CMAKE_OPTIONS: -DENABLE_AAUDIO=ON
......
......@@ -37,6 +37,7 @@ job-ios-makefile:
variables:
- $DEPLOY_RUN_ANDROID
- $DEPLOY_RUN_IOS
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
......@@ -55,6 +56,7 @@ job-ios-ninja:
variables:
- $DEPLOY_RUN_ANDROID
- $DEPLOY_RUN_IOS
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Ninja
......@@ -67,6 +69,7 @@ job-ios-ninja-novideo:
variables:
- $DEPLOY_RUN_ANDROID
- $DEPLOY_RUN_IOS
- $FAST_LINUX_TESTS
only:
- schedules
......@@ -84,6 +87,10 @@ job-ios-xcode:
stage: build
tags: [ "macosx" ]
except:
variables:
- $FAST_LINUX_TESTS
except:
variables:
......
......@@ -7,6 +7,9 @@ job-archlinux-latest-makefile-gcc:
tags: [ "docker-archlinux-latest" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
CC: gcc
......@@ -18,6 +21,9 @@ job-archlinux-latest-makefile-clang:
tags: [ "docker-archlinux-latest" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
CC: clang
......@@ -34,6 +40,9 @@ job-archlinux-latest-ninja-gcc:
tags: [ "docker-archlinux-latest" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Ninja
CC: gcc
......@@ -44,6 +53,10 @@ job-archlinux-latest-ninja-gcc:
job-archlinux-latest-ninja-gcc-novideo:
tags: [ "docker-archlinux-latest" ]
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-archlinux-latest-ninja-gcc
......@@ -62,8 +75,47 @@ job-archlinux-latest-ninja-clang:
job-archlinux-latest-ninja-clang-novideo:
except:
variables:
- $FAST_LINUX_TESTS
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-archlinux-latest-ninja-clang
#################################################
# TESTS
#################################################
test-bctoolbox-arch:
extends: .test-bctoolbox
dependencies:
- job-archlinux-latest-ninja-clang
tags: [ "docker-archlinux-latest" ]
test-bellesip-arch:
extends: .test-bellesip
dependencies:
- job-archlinux-latest-ninja-clang
tags: [ "docker-archlinux-latest" ]
test-belr-arch:
extends: .test-belr
dependencies:
- job-archlinux-latest-ninja-clang
tags: [ "docker-archlinux-latest" ]
test-belcard-arch:
extends: .test-belcard
dependencies:
- job-archlinux-latest-ninja-clang
tags: [ "docker-archlinux-latest" ]
test-bzrtp-arch:
extends: .test-bzrtp
dependencies:
- job-archlinux-latest-ninja-clang
tags: [ "docker-archlinux-latest" ]
\ No newline at end of file
......@@ -7,6 +7,9 @@ job-centos7-makefile-gcc:
tags: [ "docker-centos7" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
CC: gcc
......@@ -18,6 +21,9 @@ job-centos7-makefile-clang:
tags: [ "docker-centos7" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
CC: clang
......@@ -34,6 +40,9 @@ job-centos7-ninja-gcc:
tags: [ "docker-centos7" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Ninja
CC: gcc
......@@ -44,6 +53,9 @@ job-centos7-ninja-gcc:
job-centos7-ninja-gcc-novideo:
tags: [ "docker-centos7" ]
except:
variables:
- $FAST_LINUX_TESTS
only:
- schedules
variables:
......@@ -59,11 +71,112 @@ job-centos7-ninja-clang:
CMAKE_GENERATOR: Ninja
CC: clang
CXX: clang++
CMAKE_OPTIONS: -DENABLE_LIME=ON
extends: .scheduled-job-linux-desktop
job-centos7-ninja-clang-novideo:
except:
variables:
- $FAST_LINUX_TESTS
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-centos7-ninja-clang
#################################################
# TESTS
#################################################
test-bctoolbox-centos7:
extends: .test-bctoolbox
dependencies:
- job-centos7-ninja-gcc
tags: [ "docker-test-centos7" ]
test-bellesip-centos7:
extends: .test-bellesip
dependencies:
- job-centos7-ninja-gcc
tags: [ "docker-test-centos7" ]
test-belr-centos7:
extends: .test-belr
dependencies:
- job-centos7-ninja-gcc
tags: [ "docker-test-centos7" ]
test-belcard-centos7:
extends: .test-belcard
dependencies:
- job-centos7-ninja-gcc
tags: [ "docker-test-centos7" ]
test-bzrtp-centos7:
extends: .test-bzrtp
dependencies:
- job-centos7-ninja-gcc
tags: [ "docker-test-centos7" ]
test-mediastreamer:
tags: [ "docker-test-centos7-mediastreamer" ]
extends: .test
dependencies:
- job-centos7-ninja-gcc
variables:
TESTER_BIN: "mediastreamer2_tester"
PULSEAUDIO: "pulseaudio -D -L module-virtual-source --exit-idle-time=-1"
LOG_PATTERN: "logMediastreamerAllPar"
PATH_TO_TESTER: "/builds/BC/public/linphone-sdk/build-desktop/linphone-sdk/desktop/bin"
test-liblinphone:
tags: [ "docker-test-centos7-liblinphone" ]
extends: .test
dependencies:
- job-centos7-ninja-gcc
variables:
TESTER_BIN: "liblinphone_tester"
XVFB: "Xvfb :99"
EXPORT_DISPLAY: "export DISPLAY=:99"
LOG_PATTERN: "logLiblinphoneAllParThIpv6"
PATH_TO_TESTER: "/builds/BC/public/linphone-sdk/build-desktop/linphone-sdk/desktop/bin"
ADDITIONNAL_OPTIONS: "--dns-hosts /builds/BC/public/linphone-sdk/linphone/tester/tester_hosts --show-account-manager-logs"
#apparently there is no more standalone lime tester
#test-lime:
# tags: [ "docker-test-centos7-lime" ]
# extends: .test
# dependencies:
# - job-centos7-ninja-gcc
# script:
# - ls -la .
# - pwd
# - ls -la ./lime
# - cd /builds/BC/public/linphone-sdk/lime/tester/server/nodejs
# #installing here since the tester cannot find globally installed packages
# - npm install yargs sqlite3 rwlock
# - ./localServerStart.sh & #How do we stop it properly ????
# - cd /builds/BC/public/linphone-sdk
# - cd build-desktop/WORK/desktop/Build/
# - ls -la
# - cd lime
# - ls-la
# - cd tester
# - ls -la
#
# #path to source dir /builds/BC/public/linphone-sdk/lime
# - ./lime_tester --verbose --xml-file limetest --resource-dir ../../../../../../lime/tester
# #uploading the artifacts
# artifacts:
# paths:
# - build-desktop/WORK/desktop/Build/lime/tester/limetest-Results.xml
# when: always
# reports:
# junit:
# - build-desktop/WORK/desktop/Build/lime/tester/limetest-Results.xml
......@@ -7,6 +7,9 @@ job-debian8-makefile-gcc:
tags: [ "docker-debian8" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
CC: gcc
......@@ -19,6 +22,9 @@ job-debian8-makefile-clang:
tags: [ "docker-debian8" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
CC: clang
......@@ -36,6 +42,9 @@ job-debian8-ninja-gcc:
tags: [ "docker-debian8" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Ninja
CC: gcc
......@@ -44,7 +53,9 @@ job-debian8-ninja-gcc:
job-debian8-ninja-gcc-novideo:
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-debian8-ninja-gcc
......@@ -63,8 +74,47 @@ job-debian8-ninja-clang:
job-debian8-ninja-clang-novideo:
except:
variables:
- $FAST_LINUX_TESTS
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-debian8-ninja-clang
#################################################
# TESTS
#################################################
#Commented until fix for broken ipv6
#test-bctoolbox-debian8:
# extends: .test-bctoolbox
# dependencies:
# - job-debian8-ninja-clang
# tags: [ "docker-test-debian8" ]
test-bellesip-debian8:
extends: .test-bellesip
dependencies:
- job-debian8-ninja-clang
tags: [ "docker-test-debian8" ]
test-belr-debian8:
extends: .test-belr
dependencies:
- job-debian8-ninja-clang
tags: [ "docker-test-debian8" ]
test-belcard-debian8:
extends: .test-belcard
dependencies:
- job-debian8-ninja-clang
tags: [ "docker-test-debian8" ]
test-bzrtp-debian8:
extends: .test-bzrtp
dependencies:
- job-debian8-ninja-clang
tags: [ "docker-test-debian8" ]
\ No newline at end of file
......@@ -7,6 +7,9 @@ job-debian9-makefile-gcc:
tags: [ "docker-debian9" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
CC: gcc
......@@ -19,6 +22,9 @@ job-debian9-makefile-clang:
tags: [ "docker-debian9" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
CC: clang
......@@ -36,6 +42,9 @@ job-debian9-ninja-gcc:
tags: [ "docker-debian9" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Ninja
CC: gcc
......@@ -45,6 +54,9 @@ job-debian9-ninja-gcc:
job-debian9-ninja-gcc-novideo:
except:
variables:
- $FAST_LINUX_TESTS
only:
- schedules
variables:
......@@ -64,9 +76,45 @@ job-debian9-ninja-clang:
job-debian9-ninja-clang-novideo:
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-debian9-ninja-clang
#################################################
# TESTS
#################################################
#Commented until fix for ipv6 for debian 8/9
#test-bctoolbox-debian9:
# extends: .test-bctoolbox
# dependencies:
# - job-debian9-ninja-clang
# tags: [ "docker-test-debian9" ]
test-bellesip-debian9:
extends: .test-bellesip
dependencies:
- job-debian9-ninja-gcc
tags: [ "docker-test-debian9" ]
test-belr-debian9:
extends: .test-belr
dependencies:
- job-debian9-ninja-gcc
tags: [ "docker-test-debian9" ]
test-belcard-debian9:
extends: .test-belcard
dependencies:
- job-debian9-ninja-gcc
tags: [ "docker-test-debian9" ]
test-bzrtp-debian9:
extends: .test-bzrtp
dependencies:
- job-debian9-ninja-gcc
tags: [ "docker-test-debian9" ]
\ No newline at end of file
......@@ -7,6 +7,9 @@ job-ubuntu-rolling-makefile-gcc:
tags: [ "docker-ubuntu-rolling" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
CC: gcc
......@@ -19,6 +22,9 @@ job-ubuntu-rolling-makefile-clang:
tags: [ "docker-ubuntu-rolling" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Unix Makefiles
CC: clang
......@@ -36,6 +42,9 @@ job-ubuntu-rolling-ninja-gcc:
tags: [ "docker-ubuntu-rolling" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_GENERATOR: Ninja
CC: gcc
......@@ -44,7 +53,9 @@ job-ubuntu-rolling-ninja-gcc:
job-ubuntu-rolling-ninja-gcc-novideo:
except:
variables:
- $FAST_LINUX_TESTS
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-ubuntu-rolling-ninja-gcc
......@@ -63,8 +74,47 @@ job-ubuntu-rolling-ninja-clang:
job-ubuntu-rolling-ninja-clang-novideo:
except:
variables:
- $FAST_LINUX_TESTS
only:
- schedules
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-ubuntu-rolling-ninja-clang
#################################################
# TESTS
#################################################
test-bctoolbox-ubuntu:
extends: .test-bctoolbox
dependencies:
- job-ubuntu-rolling-ninja-clang
tags: [ "docker-ubuntu-rolling" ]
test-bellesip-ubuntu:
extends: .test-bellesip
dependencies:
- job-ubuntu-rolling-ninja-clang
tags: [ "docker-ubuntu-rolling" ]
test-belr-ubuntu:
extends: .test-belr
dependencies:
- job-ubuntu-rolling-ninja-clang
tags: [ "docker-ubuntu-rolling" ]
test-belcard-ubuntu:
extends: .test-belcard
dependencies:
- job-ubuntu-rolling-ninja-clang
tags: [ "docker-ubuntu-rolling" ]
test-bzrtp-ubuntu:
extends: .test-bzrtp
dependencies:
- job-ubuntu-rolling-ninja-clang
tags: [ "docker-ubuntu-rolling" ]
\ No newline at end of file
#################################################
# BUILD
#################################################
.job-linux-desktop:
stage: build
......@@ -15,9 +19,114 @@
- cd build-desktop
- cmake .. -G "$CMAKE_GENERATOR" -DLINPHONESDK_PLATFORM=Desktop $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS
- cmake --build . --target sdk -- $ADDITIONAL_BUILD_OPTIONS
artifacts:
paths:
- build-desktop/*
#UGLY ! Lime data folder isn't installed at the right place !
#We have to find it and add it manually...
- lime/tester/*
- linphone/tester/*
expire_in: 1 week
.scheduled-job-linux-desktop:
extends: .job-linux-desktop
only:
- schedules
#################################################
# TESTS
#################################################
.test:
stage: test
allow_failure: true
only:
- $NIGHTLY_MASTER
script:
- cd $PATH_TO_TESTER
#pulseaudio launch for mediastreamer
- $PULSEAUDIO
#X emulation for linphone
- $XVFB &
- $EXPORT_DISPLAY
- ls -la
- ./$TESTER_BIN --verbose --parallel $RESOURCE_DIR $ADDITIONNAL_OPTIONS --log-file $LOG_PATTERN.txt
after_script:
- pwd
- cd $PATH_TO_TESTER
- echo "thread apply all bt" | sudo tee .gdbinit
- echo add-auto-load-safe-path $PATH_TO_TESTER/.gdbinit | sudo tee -a /home/bc/.gdbinit
# searching for core files and if there are some, launch gdb on all of it
# "true ||" is used here to continue the script even if the find fails
- true || if [[ -n $(find . -type f -name "core*") ]]; then find . -type f -name "core*" | xargs -L1 gdb $TESTER_BIN; fi
- sudo mkdir /builds/BC/public/linphone-sdk/results
- sudo chmod 777 /builds/BC/public/linphone-sdk/results
- cp -r BCUnitAutomated* /builds/BC/public/linphone-sdk/results
- cp -r $LOG_PATTERN* /builds/BC/public/linphone-sdk/results
artifacts:
paths:
- results/*
when: always
reports:
junit:
- $PATH_TO_TESTER/BCUnitAutomated-Results.xml
expire_in: 4 week
.test-bctoolbox:
extends: .test
dependencies:
- .build-sdk
variables:
TESTER_BIN: "bctoolbox_tester"
LOG_PATTERN: "logBctoolboxAllPar"
PATH_TO_TESTER: "/builds/BC/public/linphone-sdk/build-desktop/WORK/desktop/Build/bctoolbox/tester"
.test-bellesip:
extends: .test
dependencies:
- .build-sdk
variables:
TESTER_BIN: "belle_sip_tester"
LOG_PATTERN: "logBellesipAllPar"
PATH_TO_TESTER: "/builds/BC/public/linphone-sdk/build-desktop/linphone-sdk/desktop/bin"
RESOURCES_DIR: "--resource-dir ../share/"
.test-belr:
extends: .test
dependencies:
- .build-sdk
variables:
TESTER_BIN: "belr_tester"
LOG_PATTERN: "logBelrAllPar"
PATH_TO_TESTER: "/builds/BC/public/linphone-sdk/build-desktop/linphone-sdk/desktop/bin"
RESOURCES_DIR: "--resource-dir ../share/belr-tester"
.test-belcard:
extends: .test
dependencies:
- .build-sdk
variables:
TESTER_BIN: "belcard_tester"
LOG_PATTERN: "logBelcardAllPar"
PATH_TO_TESTER: "/builds/BC/public/linphone-sdk/build-desktop/linphone-sdk/desktop/bin"
.test-bzrtp:
extends: .test
dependencies:
- .build-sdk
variables:
TESTER_BIN: "bzrtpTest"
LOG_PATTERN: "logBzrtpAllPar"
PATH_TO_TESTER: "/builds/BC/public/linphone-sdk/build-desktop/WORK/desktop/Build/bzrtp/test"
#We must tell it that the ressources it wants are in its own folder
#different behaviour from other testers
RESOURCES_DIR: "--resource-dir ."
\ No newline at end of file