diff options
author | Markos Chandras <mchandras@suse.de> | 2017-01-17 17:26:14 +0000 |
---|---|---|
committer | Markos Chandras <mchandras@suse.de> | 2017-01-18 10:36:31 +0000 |
commit | 07cc62af01c58dfbb1e1a08fc66f6dd68fd9bd8a (patch) | |
tree | 79192500ca24680dfb2b6f2e63ca57235efec044 | |
parent | 6e6e30aa0342b7fb30ff2dd4e8191ae8fcaaf866 (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-x | jjb/infra/bifrost-upload-logs.sh | 25 | ||||
-rw-r--r-- | jjb/infra/bifrost-verify-jobs.yml | 4 |
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' |