language: c
-compiler:
- - gcc
- - clang
+sudo: required
+dist: xenial
+
+# don't build tags separately
+if: tag IS blank
+
+compiler: gcc
+
+cache: ccache
before_install:
- - ./scripts/test.sh deps
- - ./scripts/test.sh pydeps
+ - travis_retry ./scripts/test.sh deps
+ - travis_retry ./scripts/test.sh pydeps
before_script:
- - sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
+ - sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 || true
script:
- ./scripts/test.sh
+after_success:
+ if [ "$TEST" == "coverage" ]; then
+ bash <(curl -s https://codecov.io/bash);
+ fi
+
+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=win64 MONOLITHIC=yes
- - compiler: gcc
- env: TEST=win32 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=wolfssl
+ - env: TEST=wolfssl 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