language: c
sudo: required
-dist: trusty
+dist: xenial
-compiler:
- - gcc
- - clang
+# don't build tags separately
+if: tag IS blank
+
+compiler: gcc
+
+cache: ccache
before_install:
- - ./scripts/test.sh deps
- - ./scripts/test.sh pydeps
- # use clang 4.0 instead of 3.9 due to unnecessary va_start() warnings
- - echo $TRAVIS_OS_NAME
- - echo $CC
- - echo $(clang --version)
- - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "clang" ]; then
- if [[ "$(clang --version)" =~ 3\.9\.[0-9] ]]; then
- curl http://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -;
- echo "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main" | sudo tee -a /etc/apt/sources.list;
- sudo apt-get update -qq;
- sudo apt-get install -qq clang-4.0;
- CC=clang-4.0;
- fi;
- fi
+ - travis_retry ./scripts/test.sh deps
+ - travis_retry ./scripts/test.sh pydeps
before_script:
- sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 || true
after_failure:
- cat config.log
+ - sleep 1
env:
global:
- TESTS_REDUCED_KEYLENGTHS=yes
- LEAK_DETECTIVE=no
- MONOLITHIC=no
- matrix:
- - TEST=default
- - TEST=default MONOLITHIC=yes
- - TEST=default LEAK_DETECTIVE=yes
- - TEST=openssl
- - TEST=openssl LEAK_DETECTIVE=yes
- - TEST=gcrypt
- - TEST=gcrypt LEAK_DETECTIVE=yes
- # we can't test Vstr as negative int args are not properly passed to CBs
- - TEST=printf-builtin
- - TEST=printf-builtin LEAK_DETECTIVE=yes
- - TEST=all
- - TEST=all MONOLITHIC=yes
- - TEST=all LEAK_DETECTIVE=yes
matrix:
include:
- - compiler: gcc
- env: TEST=dist
- - compiler: gcc
- env: TEST=apidoc
- - compiler: gcc
- env: TEST=coverage
- - compiler: gcc
- env: TEST=win64 MONOLITHIC=yes
- # this does not work on 14.04 due to a missing @4 decoration for
- # TryAcquireSRWLockExclusive in MinGW 3.1.0
- - compiler: gcc
- env: TEST=win32 MONOLITHIC=yes
- dist: precise
- - compiler: clang
- env: TEST=fuzzing MONOLITHIC=yes
- - compiler: clang
+ - env: TEST=sonarcloud
+ if: type = push AND env(SONAR_TOKEN) IS present
+ git:
+ depth: false
+ addons:
+ sonarcloud:
+ organization: "strongswan"
+ - env: TEST=osx
+ compiler: clang
os: osx
- env: TEST=osx
+ - env: TEST=all
+ - env: TEST=all
+ compiler: clang
+ - env: TEST=all MONOLITHIC=yes
+ - env: TEST=all MONOLITHIC=yes
+ compiler: clang
+ - env: TEST=all LEAK_DETECTIVE=yes
+ - env: TEST=all LEAK_DETECTIVE=yes
+ compiler: clang
+ - env: TEST=coverage
+ - env: TEST=fuzzing MONOLITHIC=yes
+ compiler: clang
+ - env: TEST=win64 MONOLITHIC=yes
+ - env: TEST=win32 MONOLITHIC=yes
+ - env: TEST=dist
+ # "default" with GCC is already tested with "dist" above
+ - env: TEST=default
+ compiler: clang
+ - env: TEST=default MONOLITHIC=yes
+ - env: TEST=default MONOLITHIC=yes
+ compiler: clang
+ - env: TEST=default LEAK_DETECTIVE=yes
+ - env: TEST=default LEAK_DETECTIVE=yes
+ compiler: clang
+ # we can't test Vstr as negative int args are not properly passed to CBs
+ - env: TEST=printf-builtin
+ - env: TEST=printf-builtin
+ compiler: clang
+ - env: TEST=printf-builtin LEAK_DETECTIVE=yes
+ - env: TEST=printf-builtin LEAK_DETECTIVE=yes
+ compiler: clang
+ # the crypto plugins are build-tested with clang via "all" above
+ - env: TEST=botan
+ - env: TEST=botan LEAK_DETECTIVE=yes
+ - env: TEST=openssl
+ - env: TEST=openssl LEAK_DETECTIVE=yes
+ - env: TEST=openssl-1.0
+ - env: TEST=openssl-1.0 LEAK_DETECTIVE=yes
+ - env: TEST=gcrypt
+ - env: TEST=gcrypt LEAK_DETECTIVE=yes
+ - env: TEST=apidoc