From 2444c9e59d66a16e958948455d226f43ddd89c71 Mon Sep 17 00:00:00 2001 From: Florent Pruvost Date: Mon, 23 Apr 2018 17:28:27 +0200 Subject: [PATCH] add gitlab ci files --- .gitlab-ci.yml | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ ext/analysis.sh | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100755 ext/analysis.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..41ca573 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,48 @@ +image: hpclib/hiepacs + +stages: + - build + - test + - analysis + +before_script: + - . /etc/profile.d/spack.sh + +build_pampa: + stage: build + artifacts: + untracked: true + script: + - cd build + - scan-build -plist --intercept-first --analyze-headers -o ../analyzer_reports + cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_C_FLAGS="-O0 -g -fPIC --coverage -Wall -fdiagnostics-show-option" -DCMAKE_EXE_LINKER_FLAGS="--coverage" + - scan-build -plist --intercept-first --analyze-headers -o ../analyzer_reports make -j5 | tee ../pampa-build.log + +test_pampa: + stage: test + dependencies: + - build_pampa + artifacts: + paths: + - pampa-coverage.xml + script: + - cd build + - make test + - lcov --directory . --capture --output-file pampa.lcov + - lcov_cobertura.py pampa.lcov --output ../pampa-coverage.xml + +sonar: + stage: analysis + dependencies: + - build_pampa + - test_pampa + artifacts: + paths: + - pampa-cppcheck.xml + - pampa-rats.xml + - sonar-project.properties + - sonar.log + script: + - ./ext/analysis.sh + only: + - master@PaMPA/PaMPA-p diff --git a/ext/analysis.sh b/ext/analysis.sh new file mode 100755 index 0000000..29e6588 --- /dev/null +++ b/ext/analysis.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +export CPPCHECK_INCLUDES="-Ibuild/src/libpampa -Isrc/libpampa -Isrc/pampa-remesh -Isrc/samples/C/include -Isrc/remeshers/gmsh -Isrc/remeshers/tetgen -Isrc/remeshers/common -Isrc/remeshers/mmg3d/libpampa-mmg3d4 -Isrc/remeshers/mmg3d/libpampa-mmg3d" +export SOURCES_TO_ANALYZE="src" + +cppcheck -j4 -v --force --language=c --platform=unix64 --enable=all --xml --xml-version=2 --suppress=missingIncludeSystem ${CPPCHECK_INCLUDES} ${SOURCES_TO_ANALYZE} 2> scotch-cppcheck.xml + +rats -w 3 --xml ${SOURCES_TO_ANALYZE} > scotch-rats.xml + +cat > sonar-project.properties << EOF +sonar.host.url=https://sonarqube.bordeaux.inria.fr/sonarqube +sonar.login=$SONARQUBE_LOGIN +sonar.links.homepage=https://gitlab.inria.fr/PaMPA/PaMPA-p +sonar.links.scm=https://gitlab.inria.fr/PaMPA/PaMPA-p.git +sonar.links.ci=https://gitlab.inria.fr/PaMPA/PaMPA-p/pipelines +sonar.links.issue=https://gitlab.inria.fr/PaMPA/PaMPA-p/issues +sonar.projectKey=tadaam:pampa:gitlab:master +sonar.projectDescription=a parallel library for handling, redistributing and remeshing unstructured meshes on distributed-memory architectures, using any sequential remesher +sonar.projectVersion=1.1 +sonar.language=c +sonar.sourceEncoding=UTF-8 +sonar.sources=src +sonar.c.includeDirectories=$(echo | gcc -E -Wp,-v - 2>&1 | grep "^ " | tr '\n' ',')build/src/libpampa,src/libpampa,src/pampa-remesh,src/samples/C/include,src/remeshers/gmsh,src/remeshers/tetgen,src/remeshers/common,src/remeshers/mmg3d/libpampa-mmg3d4,src/remeshers/mmg3d/libpampa-mmg3d +sonar.c.errorRecoveryEnabled=true +sonar.c.compiler.charset=UTF-8 +sonar.c.compiler.parser=GCC +sonar.c.compiler.regex=^(.*):(\\\d+):\\\d+: warning: (.*)\\\[(.*)\\\]$ +sonar.c.compiler.reportPath=pampa-build.log +sonar.c.coverage.reportPath=pampa-coverage.xml +#sonar.c.cppcheck.reportPath=pampa-cppcheck.xml +sonar.c.rats.reportPath=pampa-rats.xml +sonar.c.clangsa.reportPath=analyzer_reports/*/*.plist +EOF -- GitLab