Merge changes from topics 'deployment_handler_refactor', 'deployment_handler'
[releng.git] / jjb / infra / bifrost-verify.sh
index a7ef9c4..4115ffc 100755 (executable)
@@ -17,12 +17,14 @@ function upload_logs() {
     BIFROST_CONSOLE_LOG="${BUILD_URL}/consoleText"
     BIFROST_GS_URL=${BIFROST_LOG_URL/http:/gs:}
 
-    echo "Uploading build logs to ${BIFROST_LOG_URL}"
+    # Make sure the old landing page is gone in case
+    # we break later on. We don't want to publish
+    # stale information.
+    # TODO: Maybe cleanup the entire $BIFROST_GS_URL directory
+    # before we upload the new data.
+    gsutil -q rm ${BIFROST_GS_URL}/index.html || true
 
-    echo "Uploading console output"
-    curl -s -L ${BIFROST_CONSOLE_LOG} > ${WORKSPACE}/build_log.txt
-    gsutil -q cp -Z ${WORKSPACE}/build_log.txt ${BIFROST_GS_URL}/build_log.txt
-    rm ${WORKSPACE}/build_log.txt
+    echo "Uploading collected bifrost build logs to ${BIFROST_LOG_URL}"
 
     if [[ -d ${WORKSPACE}/logs ]]; then
         pushd ${WORKSPACE}/logs &> /dev/null
@@ -33,11 +35,11 @@ function upload_logs() {
         popd &> /dev/null
     fi
 
-    echo "Generating the landing page"
+    echo "Generating the ${BIFROST_LOG_URL}/index.html landing page"
     cat > ${WORKSPACE}/index.html <<EOF
 <html>
 <h1>Build results for <a href=https://$GERRIT_NAME/#/c/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER>$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER</a></h1>
-<h2>Job: $JOB_NAME</h2>
+<h2>Job: <a href=${BUILD_URL}>$JOB_NAME</a></h2>
 <ul>
 <li><a href=${BIFROST_LOG_URL}/build_log.txt>build_log.txt</a></li>
 EOF
@@ -55,8 +57,15 @@ EOF
 </html>
 EOF
 
-    gsutil -q cp ${WORKSPACE}/index.html ${BIFROST_GS_URL}/index.html
+    # Finally, download and upload the entire build log so we can retain
+    # as much build information as possible
+    echo "Uploading the final console output"
+    curl -s -L ${BIFROST_CONSOLE_LOG} > ${WORKSPACE}/build_log.txt
+    gsutil -q cp -Z ${WORKSPACE}/build_log.txt ${BIFROST_GS_URL}/build_log.txt
+    rm ${WORKSPACE}/build_log.txt
 
+    # Upload landing page
+    gsutil -q cp ${WORKSPACE}/index.html ${BIFROST_GS_URL}/index.html
     rm ${WORKSPACE}/index.html
 }