X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/df1faf3e08b0a46f32b7c482b9e82e6b7bd0bbf6..e84659ef22bae50c28bce4163d837e819a6a7fc5:/tools/jenkins/project_description.sh
diff --git a/tools/jenkins/project_description.sh b/tools/jenkins/project_description.sh
index 5311785371..3570212509 100755
--- a/tools/jenkins/project_description.sh
+++ b/tools/jenkins/project_description.sh
@@ -1,30 +1,227 @@
-#!/bin/bash
+#!/usr/bin/env bash
+get_boost(){
+ BOOST=$(grep -m 1 "Boost version:" ./consoleText | sed "s/.*-- Boost version: \([a-zA-Z0-9\.]*\)/\1/g")
+ if [ -z "$BOOST" ]
+ then
+ BOOST=$(grep -m 1 "Found Boost:" ./consoleText | sed "s/.*-- Found Boost:.*found suitable version \"\([a-zA-Z0-9\.]*\)\",.*/\1/g")
+ fi
+ echo $BOOST
+}
+
+get_compiler(){
+ grep -m 1 "The C compiler identification" ./consoleText | sed "s/.*-- The C compiler identification is \([a-zA-Z0-9\.]*\)/\1/g"
+}
+
+get_java(){
+ grep -m 1 "Found Java:" ./consoleText | sed "s/.*-- Found Java.*found suitable version \"\([a-zA-Z0-9\.]*\)\",.*/\1/g"
+}
+
+get_cmake(){
+ grep -m 1 "Cmake version" ./consoleText| sed "s/.*-- Cmake version \([a-zA-Z0-9\.]*\)/\1/g"
+}
+
+get_ns3(){
+ found=$(grep -c "ns-3 found" ./consoleText)
+ if [ $found != 0 ]; then
+ echo "â"
+ else
+ echo ""
+ fi
+}
+
+get_python(){
+ found=$(grep -c "Compile Python bindings .....: ON" ./consoleText)
+ if [ $found != 0 ]; then
+ echo "â"
+ else
+ echo ""
+ fi
+}
+
+if [ -f consoleText ]; then
+ rm consoleText
+fi
+
+
+if [ -z $BUILD_URL ]; then
+ BUILD_URL="https://ci.inria.fr/simgrid/job/SimGrid/lastBuild"
+fi
+
+#get the list of nodes on jenkins
+wget --quiet ${BUILD_URL}/consoleText >/dev/null 2>&1
+nodes=($(sed -n 's/^Triggering SimGrid [^ ]* Debug,//p' ./consoleText| sort))
rm consoleText
-wget âquiet https://ci.inria.fr/simgrid/job/SimGrid/lastBuild/consoleText >/dev/null 2>&1
-nodes=($(grep -rR "Triggering SimGrid ? Debug," ./consoleText | sed "s/Triggering SimGrid ? Debug,\(.*\)/\1/g"))
-nodes=($(for i in "${nodes[@]}"; do echo "$i"; done | sort))
-rm consoleText
-echo "
Info on configurations
-
-
"
+
+
+echo "
Description of the nodes - Automatically updated by project_description.sh script - Don't edit here
+
+
+
+
"
for node in "${nodes[@]}"
do
- wget âquiet https://ci.inria.fr/simgrid/job/SimGrid/lastBuild/build_mode=Debug,node=${node}/consoleText >/dev/null 2>&1
+ wget --quiet ${BUILD_URL}/build_mode=Debug,node=${node}/consoleText >/dev/null 2>&1
if [ ! -f consoleText ]; then
- echo "file not existing for node ${node}"
- exit 1
+ echo "file not existing for node ${node}"
+ exit 1
+ fi
+ boost=$(get_boost)
+ compiler=$(get_compiler)
+ java=$(get_java)
+ cmake=$(get_cmake)
+ ns3=$(get_ns3)
+ py=$(get_python)
+ os=$(grep -m 1 "OS Version" ./consoleText| sed "s/OS Version : \(.*\)/\1/g")
+
+ color1=""
+ color2=""
+ #in case of success, replace blue by green in status balls
+ wget --quiet https://ci.inria.fr/simgrid/buildStatus/text?job=SimGrid%2Fbuild_mode%3DDebug%2Cnode%3D${node} -O status >/dev/null 2>&1
+ status=$(cat status)
+ if [ $status == "Success" ]; then
+ color1="&color=green"
fi
- boost=$(grep -m 1 "Boost version:" ./consoleText | sed "s/-- Boost version: \(.*\)/\1/g")
- compiler=$(grep -m 1 "The C compiler identification" ./consoleText | sed "s/-- The C compiler identification is \(.*\)/\1/g")
- java=$(grep -m 1 "Found Java:" ./consoleText | sed "s/-- Found Java.*found suitable version \"\(.*\)\",.*/\1/g")
- cmake=$(grep -m 1 "Cmake version" ./consoleText| sed "s/-- Cmake version \(.*\)/\1/g")
- os=$(grep -m 1 "OS Version" ./consoleText| sed "s/OS Version : \(.*\)/\1/g")
- echo " $node | $os | $compiler | $boost | $java | $cmake |
"
+ rm status
+ statusmc=""
+ wget --quiet https://ci.inria.fr/simgrid/buildStatus/text?job=SimGrid%2Fbuild_mode%3DModelChecker%2Cnode%3D${node} -O status >/dev/null 2>&1
+ status=$(cat status)
+ if [ $status ]; then
+ if [ $status == "Success" ]; then
+ color2="&color=green"
+ fi
+ statusmc=""
+ fi
+ rm status
+ echo " $node | $os | $compiler | $boost | $java | $cmake | $ns3 | $py | | ${statusmc} |
"
rm consoleText
done
-echo " travis-linux | Ubuntu 14.04 (Trusty) 64 bits | GNU 4.8.4 | 1.60.0 | 1.8.0.151 | 3.9.2 |
- travis-mac | Mac OSX Sierra (kernel: 16.7.0) | AppleClang 8.1.0.8020042 | 1.65.1 | 1.8.0.112 | 3.9.4 |
- appveyor | Windows Server 2012 - VS2015 + mingw64 5.3.0 | GNU 5.3.0 | 1.60.0 | 1.8.0.162 | 3.11.3 |
-
"
+
+
+#Travis - get ID of the last jobs with the API
+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')
+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 3))
+OS=($(curl -s https://api.travis-ci.org/repos/simgrid/simgrid/builds/${BUILD_NUM} | grep -o '"os":"[a-z]*",' | sed 's/"os":"\([a-z]*\)",/\1/g'| tail -n 3))
+
+for id in "${!BUILDS[@]}"
+do
+ wget --quiet https://api.travis-ci.org/v3/job/${BUILDS[$id]}/log.txt -O ./consoleText >/dev/null 2>&1
+ sed -i -e "s/\r//g" ./consoleText
+
+ if [ ${OS[$id]} == "linux" ]; then
+ node="travis-linux (log)"
+ os="Ubuntu 18.04 bionic"
+ elif [ ${OS[$id]} == "osx" ]; then
+ node="travis-mac (log)"
+ os="Mac OS X Mojave (10.14) "
+ elif [ ${OS[$id]} == "windows" ]; then
+ node="travis-windows (log)"
+ os="Windows 10 v17134"
+ fi
+ boost=$(get_boost)
+ compiler=$(get_compiler)
+ java=$(get_java)
+ cmake=$(get_cmake)
+ ns3=$(get_ns3)
+ py=$(get_python)
+ success=$(grep -m 1 "Your build exited with 0" ./consoleText)
+ ball="red.png"
+ if [ -n "$success" ]; then
+ ball="blue.png"
+ fi
+ echo " $node | $os | $compiler | $boost | $java | $cmake | $ns3 | $py | | |
"
+ rm consoleText
+done
+
+#Appveyor - get ID of the last job with the API
+BUILD_ID=$(curl -s "https://ci.appveyor.com/api/projects/mquinson/simgrid" | grep -o '\[{"jobId":"[a-zA-Z0-9]*",' | sed "s/\[{\"jobId\":\"//" | sed "s/\",//")
+wget --quiet https://ci.appveyor.com/api/buildjobs/$BUILD_ID/log -O ./consoleText >/dev/null 2>&1
+sed -i -e "s/\r//g" ./consoleText
+node="appveyor"
+os="Windows Server 2012 - VS2015 + mingw64 5.3.0"
+boost=$(get_boost)
+compiler=$(get_compiler)
+java=$(get_java)
+cmake=$(get_cmake)
+ns3=$(get_ns3)
+py=$(get_python)
+success=$(grep -m 1 "Build success" ./consoleText)
+ball="red.png"
+if [ -n "$success" ]; then
+ ball="blue.png"
+fi
+echo " $node | $os | $compiler | $boost | $java | $cmake | $ns3 | $py | | |
"
+rm consoleText
+
+echo "
"