diff --git a/Dockerfile b/Dockerfile index e4b74f12b..dd32c11a9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,15 @@ FROM debian:testing MAINTAINER Nicolas Richart # Make sure the package repository is up to date. RUN apt-get -qq update && apt-get -qq -y install \ g++ gfortran cmake \ libmumps-seq-dev libscotch-dev \ libboost-dev libopenblas-dev \ python3 python3-dev \ - python3-numpy python3-scipy \ + python3-numpy python3-scipy python3-mpi4py\ swig3.0 gmsh curl \ - git xsltproc \ + git arcanist clang-format xsltproc \ && rm -rf /var/lib/apt/lists/* # apt-get on one line due to https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run diff --git a/Jenkinsfile b/Jenkinsfile index 44662e6e1..aa24515fd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,70 +1,74 @@ pipeline { agent { dockerfile { additionalBuildArgs '--tag akantu-environment' } - } stages { stage('Configure') { steps { sh 'env' sh 'mkdir -p build' sh 'cd build; cmake -DAKANTU_COHESIVE_ELEMENT:BOOL=TRUE -DAKANTU_IMPLICIT:BOOL=TRUE -DAKANTU_PARALLEL:BOOL=TRUE -DAKANTU_PYTHON_INTERFACE:BOOL=TRUE -DAKANTU_TESTS:BOOL=TRUE ..' } } stage('Compile') { steps { wrap([$class: 'AnsiColorBuildWrapper', 'colorMapName': 'xterm']) { sh 'make -C build/src || true' } } } stage ('Warnings gcc') { steps { warnings(consoleParsers: [[parserName: 'GNU Make + GNU C Compiler (gcc)']]) } } stage('Compile python') { steps { sh 'make -C build/python || true' } } stage('Compile tests') { steps { sh 'make -C build/test || true' } } stage('Tests') { steps { - sh 'curl https://raw.githubusercontent.com/rpavlik/jenkins-ctest-plugin/master/ctest-to-junit.xsl -o ctest-to-junit.xsl' - sh 'cd build/ && ctest -T test --no-compress-output || true' - sh 'xsltproc ctest-to-junit.xsl build/Testing/`head -n 1 < build/Testing/TAG`/Test.xml > CTestResults.xml' + # the LD_PRELOAD is for the mpi4py to load properly + sh 'cd build/ && ctest -T test --no-compress-output || true' + sh 'cp build/Testing/`head -n 1 < build/Testing/TAG`/Test.xml CTestResults.xml' + # sh 'curl https://raw.githubusercontent.com/rpavlik/jenkins-ctest-plugin/master/ctest-to-junit.xsl -o ctest-to-junit.xsl' + # sh 'xsltproc ctest-to-junit.xsl build/Testing/`head -n 1 < build/Testing/TAG`/Test.xml > CTestResults.xml' + step([$class: 'XUnitBuilder', + thresholds: [ + [$class: 'SkippedThreshold', failureThreshold: '0'], + [$class: 'FailedThreshold', failureThreshold: '0']], + tools: [[$class: 'BoostTestJunitHudsonTestType', pattern: 'CTestResults.xml']]]) } } } environment { BLA_VENDOR = 'OpenBLAS' OMPI_MCA_plm = 'isolated' - OMPI_MCA_btl = 'self' + OMPI_MCA_btl = 'tcp,self' } post { always { juint 'CTestResults.xml' } failure { emailext( - subject: 'Failure in job ${currentBuild.fullDisplayName}', recipientProviders: [[$class: 'CulpritsRecipientProvider']], to: 'akantu-admins@akantu.ch', attachLog: true, - compressLog: true, - body: 'Something is wrong with ${env.BUILD_URL}') + compressLog: false) } } }