summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkos Chandras <mchandras@suse.de>2017-01-17 17:26:14 +0000
committerMarkos Chandras <mchandras@suse.de>2017-01-18 10:36:31 +0000
commit07cc62af01c58dfbb1e1a08fc66f6dd68fd9bd8a (patch)
tree79192500ca24680dfb2b6f2e63ca57235efec044
parent6e6e30aa0342b7fb30ff2dd4e8191ae8fcaaf866 (diff)
jjb: infra: bifrost-upload-logs.sh: Generate a landing page
Create a basic web page to contain all the collected build logs. The reason for creating this page is that the OPNFV web server does not list the subdirectory contents so we need another way to expose all the uploaded logs. Moreover, hide the gsutils stdout output since it just adds extra noise to the already massive console log. Finally, drop the 'popd' command argument since it causes the command to fail and mark the whole build as failed. Change-Id: Iad25e5cf62fda650bad3c9d83671cde84c7467d8 Signed-off-by: Markos Chandras <mchandras@suse.de>
-rwxr-xr-xjjb/infra/bifrost-upload-logs.sh25
-rw-r--r--jjb/infra/bifrost-verify-jobs.yml4
2 files changed, 25 insertions, 4 deletions
diff --git a/jjb/infra/bifrost-upload-logs.sh b/jjb/infra/bifrost-upload-logs.sh
index a03365942..22d45bdda 100755
--- a/jjb/infra/bifrost-upload-logs.sh
+++ b/jjb/infra/bifrost-upload-logs.sh
@@ -13,6 +13,8 @@ set -o pipefail
BIFROST_CONSOLE_LOG="${BUILD_URL}/consoleText"
BIFROST_GS_URL=${BIFROST_LOG_URL/http:/gs:}
+BIFROST_COMPRESS_SUFFIX="tar.gz"
+BIFROST_COMPRESSED_LOGS=()
echo "Uploading build logs to ${BIFROST_LOG_URL}"
@@ -24,6 +26,25 @@ curl -L ${BIFROST_CONSOLE_LOG} | gsutil cp - ${BIFROST_GS_URL}/console.txt
pushd ${WORKSPACE}/logs/ &> /dev/null
for x in *.log; do
echo "Compressing and uploading $x"
- tar -czf - $x | gsutil cp - ${BIFROST_GS_URL}/$x.tar.gz
+ tar -czf - $x | gsutil cp - ${BIFROST_GS_URL}/${x}.${BIFROST_COMPRESS_SUFFIX} 1>/dev/null
+ BIFROST_COMPRESSED_LOGS+=(${x}.${BIFROST_COMPRESS_SUFFIX})
done
-popd ${WORKSPACE}/logs &> /dev/null
+popd &> /dev/null
+
+echo "Generating the landing page"
+cat > index.html << EOF
+<html>
+<h1>Build results for $GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER</h1>
+<h2>Job: $JOB_NAME</h2>
+<ul>
+<li><a href=${BIFROST_LOG_URL}/console.txt>console.txt</a></li>
+EOF
+
+for x in ${BIFROST_COMPRESSED_LOGS[@]}; do
+ echo "<li><a href=${BIFROST_LOG_URL}/${x}>${x}</a></li>" >> index.html
+done
+
+cat >> index.html << EOF
+</ul>
+</html>
+EOF
diff --git a/jjb/infra/bifrost-verify-jobs.yml b/jjb/infra/bifrost-verify-jobs.yml
index cbe21e256..6232859ee 100644
--- a/jjb/infra/bifrost-verify-jobs.yml
+++ b/jjb/infra/bifrost-verify-jobs.yml
@@ -163,7 +163,7 @@
exclude-no-code-change: 'false'
- comment-added-contains-event:
comment-contains-value: 'recheck'
- custom-url: '* $JOB_NAME $BIFROST_LOG_URL'
+ custom-url: '* $JOB_NAME $BIFROST_LOG_URL/index.html'
silent-start: true
projects:
- project-compare-type: 'PLAIN'
@@ -192,7 +192,7 @@
comment-contains-value: 'recheck'
- comment-added-contains-event:
comment-contains-value: 'reverify'
- custom-url: '* $JOB_NAME $BIFROST_LOG_URL'
+ custom-url: '* $JOB_NAME $BIFROST_LOG_URL/index.html'
projects:
- project-compare-type: 'ANT'
project-pattern: 'releng'