AusweisApp2/resources/jenkins/dsl/Reviews/Review_Linux.groovy
2017-07-03 09:30:10 +02:00

58 lines
1.1 KiB
Groovy

import common.Review
import common.Build.JobType
import static common.Constants.strip
def j = new Review
(
name: 'Linux',
libraries: 'Linux',
label: 'Linux',
artifacts: 'tmp/AusweisApp2.*.log',
allowEmptyArtifacts: true,
xunit: true,
jobType: JobType.Matrix
).generate(this)
j.with
{
wrappers
{
environmentVariables
{
env("QT_PLUGIN_PATH", '$WORKSPACE/libs/build/dist/plugins')
}
}
axes
{
label('Compiler', 'g++', 'clang++')
}
steps
{
shell('cd source; python resources/jenkins/import.py')
shell(strip('''\
cd build;
cmake ../source
-DCMAKE_PREFIX_PATH=${WORKSPACE}/libs/build/dist
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER=${Compiler}
-DBUILD_SHARED_LIBS=on
-DSANITIZER=address
'''))
shell('''\
export LD_LIBRARY_PATH=$WORKSPACE/libs/build/dist/lib:$LD_LIBRARY_PATH
cd build; make ${MAKE_FLAGS}
'''.stripIndent().trim())
shell('''\
export LD_LIBRARY_PATH=$WORKSPACE/libs/build/dist/lib:$LD_LIBRARY_PATH
export ASAN_OPTIONS=detect_leaks=0
cd build; ctest ${MAKE_FLAGS}
'''.stripIndent().trim())
}
}