Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
287c1440e1a62df7ac41de69fcb75397527062a3
[simgrid.git] / buildtools / jenkins / run.sh
1 #!/bin/bash
2
3 WORKSPACE=$1
4 build_mode=$2
5
6
7 rm -rf $WORKSPACE/build
8
9 mkdir $WORKSPACE/build
10 cd $WORKSPACE/build
11
12 export PATH=./lib/:../../lib:$PATH
13
14 if test "$(uname -o)" = "Msys"
15 then 
16     #$NUMBER_OF_PROCESSORS should be already set on win
17     if [ -z "$NUMBER_OF_PROCESSORS" ]; then
18         NUMBER_OF_PROCESSORS=1
19     fi  
20
21     cmake -G "MSYS Makefiles" $WORKSPACE
22
23     if [ $? -ne 0 ] ; then
24         echo "Failed to do the first cmake - Halting"
25         exit 1
26     fi
27
28     make dist
29
30     if [ $? -ne 0 ] ; then
31         echo "Failed to build dist - Halting"
32         exit 2
33     fi
34
35     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 .
36
37     if [ $? -ne 0 ] ; then
38         echo "Failed to perform the Cmake for $build_mode - Halting"
39         exit 5
40     fi
41
42     make -j$NUMBER_OF_PROCESSORS
43
44     if [ $? -ne 0 ] ; then
45         echo "Build failure - Halting"
46         exit 5
47     fi
48
49     make nsis
50
51     if [ $? -ne 0 ] ; then
52         echo "Failure while generating the Windows executable - Halting"
53         exit 6
54     fi
55
56 else
57     # Linux:
58     cpuinfo_file="/proc/cpuinfo"
59     NUMBER_OF_PROCESSORS=$(lscpu -p 2>/dev/null | grep -c '^[^#]') || \
60     NUMBER_OF_PROCESSORS=$(grep -c "^processor[[:space:]]*:" ${cpuinfo_file} 2>/dev/null)
61     [ "0$NUMBER_OF_PROCESSORS" -gt 0 ] || NUMBER_OF_PROCESSORS=1
62
63     cmake $WORKSPACE
64
65     if [ $? -ne 0 ] ; then
66         echo "Failed to do the first cmake - Halting"
67         exit 1
68     fi
69
70     rm Simgrid*.tar.gz
71     make dist
72
73     if [ $? -ne 0 ] ; then
74         echo "Failed to build dist - Halting"
75         exit 2
76     fi
77
78     tar xzf `cat VERSION`.tar.gz
79
80     if [ $? -ne 0 ] ; then
81         echo "Failed to extract the generated tgz - Halting"
82         exit 3
83     fi
84
85     cd `cat VERSION`
86
87     if [ $? -ne 0 ] ; then
88         echo "Path `cat VERSION` cannot be found - Halting"
89         exit 4
90     fi
91
92     if [ "$build_mode" = "Debug" ]
93     then
94     cmake -Denable_coverage=ON -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 .
95     fi
96
97     if [ "$build_mode" = "ModelChecker" ]
98     then
99     cmake -Denable_coverage=ON -Denable_java=ON -Denable_smpi=ON -Denable_model-checking=ON -Denable_lua=ON -Denable_compile_optimizations=OFF -Denable_compile_warnings=ON .
100     fi
101
102     if [ "$build_mode" = "DynamicAnalysis" ]
103     then
104     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 .
105     fi
106
107     if [ $? -ne 0 ] ; then
108         echo "Failed to perform the Cmake for $build_mode - Halting"
109         exit 5
110     fi
111
112     make -j$NUMBER_OF_PROCESSORS
113
114     if [ $? -ne 0 ] ; then
115         echo "Build failure - Halting"
116         exit 6
117     fi
118
119 fi
120
121
122 echo "running tests with $NUMBER_OF_PROCESSORS processors"
123
124 ctest -T test --no-compress-output  --timeout 100 -j$NUMBER_OF_PROCESSORS || true
125 if [ -f Testing/TAG ] ; then
126    xsltproc $WORKSPACE/buildtools/jenkins/ctest2junit.xsl -o "$WORKSPACE/CTestResults.xml" Testing/`head -n 1 < Testing/TAG`/Test.xml
127 fi
128
129 ctest -D ContinuousStart
130 ctest -D ContinuousConfigure
131 ctest -D ContinuousBuild
132 ctest -D ContinuousTest
133 ctest -D ContinuousSubmit
134
135 rm -rf `cat VERSION`