diff options
Diffstat (limited to 'jjb/infra/bifrost-upload-logs.sh')
-rwxr-xr-x | jjb/infra/bifrost-upload-logs.sh | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/jjb/infra/bifrost-upload-logs.sh b/jjb/infra/bifrost-upload-logs.sh new file mode 100755 index 000000000..22d45bdda --- /dev/null +++ b/jjb/infra/bifrost-upload-logs.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2016 SUSE. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -eu +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}" + +echo "Uploading console output" +curl -L ${BIFROST_CONSOLE_LOG} | gsutil cp - ${BIFROST_GS_URL}/console.txt + +[[ ! -d ${WORKSPACE}/logs ]] && exit 0 + +pushd ${WORKSPACE}/logs/ &> /dev/null +for x in *.log; do + echo "Compressing and uploading $x" + tar -czf - $x | gsutil cp - ${BIFROST_GS_URL}/${x}.${BIFROST_COMPRESS_SUFFIX} 1>/dev/null + BIFROST_COMPRESSED_LOGS+=(${x}.${BIFROST_COMPRESS_SUFFIX}) +done +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 |