infra: bifrost: Upload build logs to artifacts.opnfv.org 31/26831/4
authorMarkos Chandras <mchandras@suse.de>
Tue, 10 Jan 2017 15:07:03 +0000 (15:07 +0000)
committerMarkos Chandras <mchandras@suse.de>
Thu, 12 Jan 2017 14:28:47 +0000 (14:28 +0000)
Change-Id: I0ba0fe05911dc7ea7cf31286b2f083f85ec5c549
Signed-off-by: Markos Chandras <mchandras@suse.de>
jjb/infra/bifrost-upload-logs.sh [new file with mode: 0755]
jjb/infra/bifrost-verify-jobs.yml

diff --git a/jjb/infra/bifrost-upload-logs.sh b/jjb/infra/bifrost-upload-logs.sh
new file mode 100755 (executable)
index 0000000..e2b8126
--- /dev/null
@@ -0,0 +1,29 @@
+#!/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_GS_STORAGE/http:/gs:}
+
+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.tar.gz
+done
+popd ${WORKSPACE}/logs &> /dev/null
index baf33ea..5f25ff8 100644 (file)
         - label:
             name: SLAVE_LABEL
             default: 'infra-{type}-{distro}'
+        - string:
+            name: BIFROST_LOG_URL
+            default: 'http://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER/$JOB_NAME'
 
     scm:
         - git:
             wipe-workspace: true
 
     builders:
-        - description-setter:
-            description: "Built on $NODE_NAME"
-        - shell:
-            !include-raw-escape: ./bifrost-verify.sh
+        - bifrost-set-name
+        - bifrost-build
+        - bifrost-artifacts-upload
 
     publishers:
         - email:
                     exclude-no-code-change: 'false'
                 - comment-added-contains-event:
                     comment-contains-value: 'recheck'
-            custom-url: '* $JOB_NAME $BUILD_URL'
+            custom-url: '* $JOB_NAME $BIFROST_LOG_URL'
             silent-start: true
             projects:
               - project-compare-type: 'PLAIN'
                     comment-contains-value: 'recheck'
                 - comment-added-contains-event:
                     comment-contains-value: 'reverify'
+            custom-url: '* $JOB_NAME $BIFROST_LOG_URL'
             projects:
               - project-compare-type: 'ANT'
                 project-pattern: 'releng'
                   - compare-type: ANT
                     pattern: 'jjb/infra/**'
             readable-message: true
+
+#---------------------------
+# builder macros
+#---------------------------
+- builder:
+    name: bifrost-set-name
+    builders:
+        - description-setter:
+            description: "Built on $NODE_NAME"
+
+- builder:
+    name: bifrost-build
+    builders:
+        - shell:
+            !include-raw: ./bifrost-verify.sh
+
+- builder:
+    name: bifrost-artifacts-upload
+    builders:
+        - shell:
+            !include-raw: ./bifrost-upload-logs.sh