X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/dd5a3529268771a43f81e95067b48d618127975c..cff982bd049d26d7acbd0e23324e0de051b06d0d:/tools/jenkins/project_description.sh diff --git a/tools/jenkins/project_description.sh b/tools/jenkins/project_description.sh index f493cb94f4..529ed1910f 100755 --- a/tools/jenkins/project_description.sh +++ b/tools/jenkins/project_description.sh @@ -1,7 +1,12 @@ #!/usr/bin/env bash get_boost(){ - grep -m 1 "Boost version:" ./consoleText | sed "s/.*-- Boost version: \([a-zA-Z0-9\.]*\)/\1/g" + 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(){ @@ -17,18 +22,19 @@ get_cmake(){ } get_ns3(){ - found=$(grep -c "ns-3 found" ./consoleText) - if [ $found != 0 ]; then - echo "✔" - else - echo "" - fi + grep -m 1 "ns-3 found (v3.[0-9]*; incl:" ./consoleText | sed "s/.*-- ns-3 found .v\(3.[0-9]*\); incl:.*/\1/g" +# 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 "✔" + if [ "$found" != 0 ]; then + grep -m 1 "Found Python3" ./consoleText| sed "s/.*-- Found Python3.*found version \"\([a-zA-Z0-9\.]*\)\".*/\1/g" else echo "" fi @@ -39,7 +45,7 @@ if [ -f consoleText ]; then fi -if [ -z $BUILD_URL ]; then +if [ -z "$BUILD_URL" ]; then BUILD_URL="https://ci.inria.fr/simgrid/job/SimGrid/lastBuild" fi @@ -61,7 +67,7 @@ function compareVersion(v1, v2) { v1[i] = parseInt(v1[i], 10); v2[i] = parseInt(v2[i], 10); if (v1[i] > v2[i]) return 1; - if (v1[i] < v2[i]) return -1; + if (v1[i] < v2[i]) return -1; } return v1.length == v2.length ? 0: (v1.length < v2.length ? -1 : 1); } @@ -123,11 +129,14 @@ function sortTable(n, type) { } } -" +" for node in "${nodes[@]}" do - wget --quiet ${BUILD_URL}/build_mode=Debug,node=${node}/consoleText >/dev/null 2>&1 + wget --quiet --output-document=consoleText \ + ${BUILD_URL}/build_mode=Debug,node=${node}/consoleText \ + ${BUILD_URL}/build_mode=ModelChecker,node=${node}/consoleText \ + >/dev/null 2>&1 if [ ! -f consoleText ]; then echo "file not existing for node ${node}" exit 1 @@ -139,28 +148,50 @@ do ns3=$(get_ns3) py=$(get_python) os=$(grep -m 1 "OS Version" ./consoleText| sed "s/OS Version : \(.*\)/\1/g") - echo "" + + 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 + 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 "" rm consoleText done #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)) +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 + 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 [ $id == 0 ]; then - node="travis-linux" - os="Ubuntu 16.04 (xenial) 64 bits" - elif [ $id == 1 ]; then - node="travis-mac" - os="(Mac OSX) Mojave (10.14) " - elif [ $id == 2 ]; then - node="travis-windows" - os="(Windows) 10 v17134" + + 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 Catalina (10.15) " + elif [ "${OS[$id]}" == "windows" ]; then + node="travis-windows (log)" + os="Windows Server 1809" fi boost=$(get_boost) compiler=$(get_compiler) @@ -168,8 +199,33 @@ do cmake=$(get_cmake) ns3=$(get_ns3) py=$(get_python) - echo "" + success=$(grep -m 1 "Your build exited with 0" ./consoleText) + ball="red.png" + if [ -n "$success" ]; then + ball="blue.png" + fi + echo "" 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 "" +rm consoleText + echo "
Name of the BuilderOSCompilerBoostJavaCmakens-3Python
Name of the BuilderOSCompilerBoostJavaCmakens-3PythonDebugMC
$node$os$compiler$boost$java$cmake$ns3$py
$node$os$compiler$boost$java$cmake$ns3$py${statusmc}
$node$os$compiler$boost$java$cmake$ns3$py
$node$os$compiler$boost$java$cmake$ns3$py
$node$os$compiler$boost$java$cmake$ns3$py
"