X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/74004cafa2eec4eae61fb0b83d5ba901a5347c1f..30a8caef3dfc5c6b5e39a3fbbd6bb110d8036486:/buildtools/jenkins/run.sh diff --git a/buildtools/jenkins/run.sh b/buildtools/jenkins/run.sh old mode 100644 new mode 100755 index b457edb109..f726799b43 --- a/buildtools/jenkins/run.sh +++ b/buildtools/jenkins/run.sh @@ -1,64 +1,85 @@ #!/bin/bash -if [ -d $WORKSPACE/build ] -then - rm -rf $WORKSPACE/build -fi -if [ -d $WORKSPACE/install ] -then - rm -rf $WORKSPACE/install -fi +WORKSPACE=$1 +build_mode=$2 + +# usage: die status message... +die () { + local status=${1:-1} + shift + [ $# -gt 0 ] || set -- "Error - Halting" + echo "$@" >&2 + exit $status +} + +ulimit -c 0 + +rm -rf $WORKSPACE/build + mkdir $WORKSPACE/build -mkdir $WORKSPACE/install cd $WORKSPACE/build -cmake $WORKSPACE -make dist -tar xzf `cat VERSION`.tar.gz -cd `cat VERSION` +export PATH=./lib/:../../lib:$PATH -if [ "$build_mode" = "Debug" ] +if test "$(uname -o)" = "Msys" then -cmake -Denable_coverage=ON -Denable_java=ON -Denable_model-checking=OFF -Denable_lua=ON -Denable_compile_optimizations=ON -Denable_compile_warnings=ON . -fi + #$NUMBER_OF_PROCESSORS should be already set on win + if [ -z "$NUMBER_OF_PROCESSORS" ]; then + NUMBER_OF_PROCESSORS=1 + fi -if [ "$build_mode" = "ModelChecker" ] -then -cmake -Denable_coverage=ON -Denable_java=ON -Denable_model-checking=ON -Denable_lua=ON -Denable_compile_optimizations=ON -Denable_compile_warnings=ON . -fi + cmake -G "MSYS Makefiles" -Denable_documentation=OFF $WORKSPACE || die 1 "Failed to do the first cmake - Halting" -if [ "$build_mode" = "DynamicAnalysis" ] -then -cmake -Denable_lua=OFF -Denable_java=ON -Denable_tracing=ON -Denable_smpi=ON -Denable_compile_optimizations=OFF -Denable_compile_warnings=ON -Denable_lib_static=OFF -Denable_model-checking=OFF -Denable_latency_bound_tracking=OFF -Denable_gtnets=OFF -Denable_jedule=OFF -Denable_mallocators=OFF -Denable_memcheck=ON . -fi + make dist || die 2 "Failed to build dist - Halting" -make + cmake -G "MSYS Makefiles" -Denable_java=ON -Denable_model-checking=OFF -Denable_lua=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=OFF -Denable_documentation=OFF . \ + || die 5 "Failed to perform the Cmake for $build_mode - Halting" -TRES=0 + make -j$NUMBER_OF_PROCESSORS || die 5 "Build failure - Halting" -ctest -T test --no-compress-output || true -if [ -f Testing/TAG ] ; then - /usr/bin/xsltproc $WORKSPACE/buildtools/jenkins/ctest2junit.xsl Testing/`head -n 1 < Testing/TAG`/Test.xml > CTestResults.xml - mv CTestResults.xml $WORKSPACE -fi + make nsis || die 6 "Failure while generating the Windows executable - Halting" -if [ "$build_mode" = "Debug" ] -then -cmake -Denable_coverage=ON -Denable_java=ON -Denable_model-checking=OFF -Denable_lua=ON -Denable_compile_optimizations=ON -Denable_compile_warnings=ON . -fi +else + # Linux: + cpuinfo_file="/proc/cpuinfo" + NUMBER_OF_PROCESSORS=$(lscpu -p 2>/dev/null | grep -c '^[^#]') || \ + NUMBER_OF_PROCESSORS=$(grep -c "^processor[[:space:]]*:" ${cpuinfo_file} 2>/dev/null) + [ "0$NUMBER_OF_PROCESSORS" -gt 0 ] || NUMBER_OF_PROCESSORS=1 -if [ "$build_mode" = "ModelChecker" ] -then -cmake -Denable_coverage=ON -Denable_java=ON -Denable_model-checking=ON -Denable_lua=ON -Denable_compile_optimizations=ON -Denable_compile_warnings=ON . + cmake -Denable_documentation=OFF $WORKSPACE || die 1 "Failed to do the first cmake - Halting" + + rm Simgrid*.tar.gz + make dist || die 2 "Failed to build dist - Halting" + + tar xzf `cat VERSION`.tar.gz || die 3 "Failed to extract the generated tgz - Halting" + + cd `cat VERSION` || die 4 "Path `cat VERSION` cannot be found - Halting" + + if [ "$build_mode" = "Debug" ] + then + cmake -Denable_documentation=OFF -Denable_coverage=OFF -Denable_java=ON -Denable_model-checking=OFF -Denable_lua=ON -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=ON . + fi + + if [ "$build_mode" = "ModelChecker" ] + then + cmake -Denable_documentation=OFF -Denable_coverage=OFF -Denable_java=ON -Denable_smpi=ON -Denable_model-checking=ON -Denable_lua=ON -Denable_compile_optimizations=OFF -Denable_compile_warnings=ON . + fi + + if [ "$build_mode" = "DynamicAnalysis" ] + then + cmake -Denable_documentation=OFF -Denable_lua=OFF -Denable_java=ON -Denable_tracing=ON -Denable_smpi=ON -Denable_compile_optimizations=OFF -Denable_compile_warnings=ON -Denable_lib_static=OFF -Denable_model-checking=OFF -Denable_latency_bound_tracking=OFF -Denable_gtnets=OFF -Denable_jedule=OFF -Denable_mallocators=OFF -Denable_memcheck=ON . + fi + + [ $? -eq 0 ] || die 5 "Failed to perform the Cmake for $build_mode - Halting" + + make -j$NUMBER_OF_PROCESSORS || die 6 "Build failure - Halting" fi -if [ "$build_mode" = "DynamicAnalysis" ] -then - ctest -D ContinuousStart - ctest -D ContinuousConfigure - ctest -D ContinuousBuild - ctest -D ContinuousMemCheck - ctest -D ContinuousSubmit +echo "running tests with $NUMBER_OF_PROCESSORS processors" + +ctest --output-on-failure -T test --no-compress-output --timeout 100 -j$NUMBER_OF_PROCESSORS || true +if [ -f Testing/TAG ] ; then + xsltproc $WORKSPACE/buildtools/jenkins/ctest2junit.xsl -o "$WORKSPACE/CTestResults.xml" Testing/`head -n 1 < Testing/TAG`/Test.xml fi ctest -D ContinuousStart