travis: Add sonarcloud build
authorTobias Brunner <tobias@strongswan.org>
Mon, 10 Sep 2018 16:46:20 +0000 (18:46 +0200)
committerTobias Brunner <tobias@strongswan.org>
Tue, 11 Sep 2018 16:18:43 +0000 (18:18 +0200)
.travis.yml
scripts/test.sh

index 9ee06f2..8e36f4e 100644 (file)
@@ -7,6 +7,10 @@ compiler:
   - gcc
   - clang
 
+addons:
+  sonarcloud:
+    organization: "strongswan"
+
 before_install:
   - travis_retry ./scripts/test.sh deps
   - travis_retry ./scripts/test.sh pydeps
@@ -54,6 +58,10 @@ matrix:
     - compiler: gcc
       env: TEST=coverage
     - compiler: gcc
+      env: TEST=sonarcloud
+      git:
+        depth: false
+    - 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
index dab45b4..821275e 100755 (executable)
@@ -29,7 +29,7 @@ gcrypt)
 printf-builtin)
        CONFIG="--with-printf-hooks=builtin"
        ;;
-all|coverage)
+all|coverage|sonarcloud)
        CONFIG="--enable-all --disable-android-dns --disable-android-log
                        --disable-dumm --disable-kernel-pfroute --disable-keychain
                        --disable-lock-profiler --disable-padlock --disable-fuzzing
@@ -202,7 +202,16 @@ apidoc)
 esac
 
 echo "$ make $TARGET"
-make -j4 $TARGET || exit $?
+case "$TEST" in
+sonarcloud)
+       # without target, coverage is currently not supported anyway because
+       # sonarqube only supports gcov, not lcov
+       build-wrapper-linux-x86-64 --out-dir bw-output make -j4 || exit $?
+       ;;
+*)
+       make -j4 $TARGET || exit $?
+       ;;
+esac
 
 case "$TEST" in
 apidoc)
@@ -211,6 +220,13 @@ apidoc)
                exit 1
        fi
        ;;
+sonarcloud)
+       sonar-scanner \
+               -Dsonar.projectKey=strongswan \
+               -Dsonar.projectVersion=$(git describe)+${TRAVIS_BUILD_NUMBER} \
+               -Dsonar.sources=. \
+               -Dsonar.cfamily.build-wrapper-output=bw-output || exit $?
+       ;;
 *)
        ;;
 esac