Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Revert "Dlopen privatization should be okay now for TSan."
[simgrid.git] / tools / jenkins / project_description.sh
1 #!/bin/bash
2
3 get_boost(){
4     grep -m 1 "Boost version:" ./consoleText | sed  "s/.*-- Boost version: \([a-zA-Z0-9\.]*\)/\1/g"
5 }
6
7 get_compiler(){
8     grep -m 1 "The C compiler identification" ./consoleText | sed  "s/.*-- The C compiler identification is \([a-zA-Z0-9\.]*\)/\1/g"
9 }
10
11 get_java(){
12     grep -m 1 "Found Java:" ./consoleText | sed "s/.*-- Found Java.*found suitable version \"\([a-zA-Z0-9\.]*\)\",.*/\1/g"
13 }
14
15 get_cmake(){
16     grep -m 1 "Cmake version" ./consoleText| sed "s/.*-- Cmake version \([a-zA-Z0-9\.]*\)/\1/g"
17 }
18
19 if [ -f consoleText ]; then
20   rm consoleText
21 fi
22
23 #get the list of nodes on jenkins
24 wget --quiet https://ci.inria.fr/simgrid/job/SimGrid/lastBuild/consoleText >/dev/null 2>&1
25 nodes=($(grep -rR "Triggering SimGrid ? Debug," ./consoleText | sed "s/Triggering SimGrid ? Debug,\(.*\)/\1/g"| sort))
26 rm consoleText
27
28
29 echo "<br>Description of the nodes - Automatically updated by project_description.sh script - Don't edit here<br><br>
30 <table id="configuration-matrix"> 
31 <tr class="matrix-row">  <td class="matrix-header">Name of the Builder</td><td class="matrix-header">OS version</td><td class="matrix-header">Compiler name and version</td><td class="matrix-header">Boost version</td><td class="matrix-header">Java version</td><td class="matrix-header">Cmake version</td></tr>"
32
33 for node in "${nodes[@]}"
34 do
35     wget --quiet https://ci.inria.fr/simgrid/job/SimGrid/lastBuild/build_mode=Debug,node=${node}/consoleText >/dev/null 2>&1
36     if [ ! -f consoleText ]; then
37       echo "file not existing for node ${node}"
38       exit 1
39     fi
40     boost=$(get_boost)
41     compiler=$(get_compiler)
42     java=$(get_java)
43     cmake=$(get_cmake)
44     os=$(grep -m 1 "OS Version" ./consoleText| sed "s/OS Version : \(.*\)/\1/g")
45     echo "<tr> <td class=\"matrix-leftcolumn\">$node</td><td class=\"matrix-cell\" style=\"text-align:left\">$os</td><td class=\"matrix-cell\" style=\"text-align:left\">$compiler</td><td class=\"matrix-cell\" style=\"text-align:left\">$boost</td><td class=\"matrix-cell\" style=\"text-align:left\">$java</td><td class=\"matrix-cell\" style=\"text-align:left\">$cmake</td></tr>"
46     rm consoleText
47 done
48
49
50 #Travis - get ID of the last jobs with the API
51 BUILD_NUM=$(curl -s 'https://api.travis-ci.org/repos/simgrid/simgrid/builds?limit=1' | grep -o '^\[{"id":[0-9]*,' | grep -o '[0-9]' | tr -d '\n')
52 BUILDS=($(curl -s https://api.travis-ci.org/repos/simgrid/simgrid/builds/${BUILD_NUM} | grep -o '{"id":[0-9]*,' | grep -o '[0-9]*'| tail -n 2))
53
54 for id in "${!BUILDS[@]}"
55 do
56     wget --quiet https://api.travis-ci.org/v3/job/${BUILDS[$id]}/log.txt -O ./consoleText >/dev/null 2>&1
57     sed -i -e "s/\r//g" ./consoleText
58     if [ $id == 0 ]; then
59       node="<a href=\"https://travis-ci.org/simgrid/simgrid\">travis-linux</a>"
60       os="Ubuntu 14.04 (<a href=\"https://docs.travis-ci.com/user/reference/trusty/\">Trusty</a>) 64 bits"
61     else
62       node="<a href=\"https://travis-ci.org/simgrid/simgrid\">travis-mac</a>"
63       os="Mac OSX High Sierra (kernel: 17.4.0)"
64     fi
65     boost=$(get_boost)
66     compiler=$(get_compiler)
67     java=$(get_java)
68     cmake=$(get_cmake)
69     
70     echo "<tr> <td class=\"matrix-leftcolumn\">$node</td><td class=\"matrix-cell\" style=\"text-align:left\">$os</td><td class=\"matrix-cell\" style=\"text-align:left\">$compiler</td><td class=\"matrix-cell\" style=\"text-align:left\">$boost</td><td class=\"matrix-cell\" style=\"text-align:left\">$java</td><td class=\"matrix-cell\" style=\"text-align:left\">$cmake</td></tr>"
71     rm consoleText
72 done
73
74 #Appveyor - get ID of the last job with the API
75 BUILD_ID=$(curl -s "https://ci.appveyor.com/api/projects/mquinson/simgrid" | grep -o '\[{"jobId":"[a-zA-Z0-9]*",' | sed "s/\[{\"jobId\":\"//" | sed "s/\",//")
76 wget --quiet https://ci.appveyor.com/api/buildjobs/$BUILD_ID/log -O ./consoleText >/dev/null 2>&1
77 sed -i -e "s/\r//g" ./consoleText
78 node="<a href="https://ci.appveyor.com/project/mquinson/simgrid">appveyor</a>"
79 os="Windows Server 2012 - VS2015 + mingw64 5.3.0"
80 boost=$(get_boost)
81 compiler=$(get_compiler)
82 java=$(get_java)
83 cmake=$(get_cmake)
84
85 echo "<tr> <td class=\"matrix-leftcolumn\">$node</td><td class=\"matrix-cell\" style=\"text-align:left\">$os</td><td class=\"matrix-cell\" style=\"text-align:left\">$compiler</td><td class=\"matrix-cell\" style=\"text-align:left\">$boost</td><td class=\"matrix-cell\" style=\"text-align:left\">$java</td><td class=\"matrix-cell\" style=\"text-align:left\">$cmake</td></tr>"
86 rm consoleText
87
88 echo "</table>"