]> git.ipfire.org Git - thirdparty/strongswan.git/blobdiff - .travis.yml
kernel-netlink: Fix compilation on old kernels (< 2.6.39)
[thirdparty/strongswan.git] / .travis.yml
index 35c9932f77cab8e7b57a11f9aabafcf26c20d1a6..7e70df553e0b5f3537e46dcd6b67a9be07598b1a 100644 (file)
@@ -1,28 +1,18 @@
 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
@@ -37,44 +27,64 @@ after_success:
 
 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