A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add zone.h and storage.h
[simgrid.git]
/
tools
/
internal
/
travis-sonarqube.sh
diff --git
a/tools/internal/travis-sonarqube.sh
b/tools/internal/travis-sonarqube.sh
index
145772e
..
fc62cd1
100755
(executable)
--- a/
tools/internal/travis-sonarqube.sh
+++ b/
tools/internal/travis-sonarqube.sh
@@
-1,18
+1,12
@@
-#!
/bin/
sh
+#!
/usr/bin/env
sh
# Install and run SonarQube on travis.
#
# Use it as a wrapper to your build command, eg: ./travis-sonarqube.sh make VERBOSE=1
# On Mac OSX or with pull requests, you don't want to run SonarQube but to exec the build command directly.
# Install and run SonarQube on travis.
#
# Use it as a wrapper to your build command, eg: ./travis-sonarqube.sh make VERBOSE=1
# On Mac OSX or with pull requests, you don't want to run SonarQube but to exec the build command directly.
-if [ ${TRAVIS_OS_NAME} != 'linux' ] || [ ${TRAVIS_PULL_REQUEST} != 'false' ]
-then
- exec "$@"
-fi
-# Passed this point, we are on Linux and not in a PR (exec never returns)
-
-#
Be verbose and fail fast
+#
Be verbose and fail fast
set -ex
# Install required software
set -ex
# Install required software
@@
-27,7
+21,7
@@
installSonarQubeScanner() {
export SONAR_SCANNER_OPTS="-server"
}
installBuildWrapper() {
export SONAR_SCANNER_OPTS="-server"
}
installBuildWrapper() {
- curl -LsS https://sonar
qube.com
/static/cpp/build-wrapper-linux-x86.zip > build-wrapper-linux-x86.zip
+ curl -LsS https://sonar
cloud.io
/static/cpp/build-wrapper-linux-x86.zip > build-wrapper-linux-x86.zip
unzip build-wrapper-linux-x86.zip
}
installSonarQubeScanner
unzip build-wrapper-linux-x86.zip
}
installSonarQubeScanner
@@
-37,11
+31,26
@@
installBuildWrapper
./build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir bw-outputs "$@"
# Run ctest before sonar to gather coverage some information
./build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir bw-outputs "$@"
# Run ctest before sonar to gather coverage some information
-ctest --output-on-failure --timeout 100
+set +e
+ctest --output-on-failure
+outcome=$?
+set -e
+
+# Only run sonar on master (not on pull requests)
+if [ "$TRAVIS_PULL_REQUEST" != "false" ] ; then
+ exit $outcome
+fi
+
+# generate the gcov files
+ctest -D ExperimentalCoverage
# and finally execute the actual SonarQube analysis
# (the SONAR_TOKEN is set from the travis web interface, to not expose it with an ongoing "set -x")
# See https://docs.travis-ci.com/user/sonarqube/ for more info on tokens
# don't show the token in the logs
set +x
# and finally execute the actual SonarQube analysis
# (the SONAR_TOKEN is set from the travis web interface, to not expose it with an ongoing "set -x")
# See https://docs.travis-ci.com/user/sonarqube/ for more info on tokens
# don't show the token in the logs
set +x
-sonar-scanner -Dsonar.host.url=https://sonarqube.com -Dsonar.login=$SONAR_TOKEN
+sonar-scanner -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=$SONAR_TOKEN 2>&1 \
+ | grep -v 'INFO: Parsing /home/travis/build/simgrid/simgrid/Testing/CoverageInfo' \
+ | grep -v 'WARN: File not analysed by Sonar, so ignoring coverage: /usr/include/'
+
+exit $outcome