Chore: Upgrade Jenkins-job-builder to 6.3.0
[releng/global-jjb.git] / shell / logs-deploy.sh
index 5c0956d..d797fa7 100644 (file)
 ##############################################################################
 echo "---> logs-deploy.sh"
 
+# shellcheck disable=SC1090
+source ~/lf-env.sh
+lf-activate-venv --python python3.8 lftools
+
 # Ensure we fail the job if any steps fail
 # Disable 'globbing'
 set -euf -o pipefail
 
-function get_pattern_opts()
-{
+# The 'lftool deploy archives' command below expects the archives
+# directory to exist.  Normally lf-infra-sysstat or similar would
+# create it and add content, but to make sure this script is
+# self-contained, we ensure it exists here.
+mkdir -p "$WORKSPACE/archives"
+
+get_pattern_opts () {
     opts=()
     for arg in ${ARCHIVE_ARTIFACTS:-}; do
-        opts+=("-p" "$arg)")
+        opts+=("-p" "$arg")
     done
     echo "${opts[@]-}"
 }
 
-pattern_opts="$(get_pattern_opts)"
+pattern_opts=$(get_pattern_opts)
 
 if [[ -z ${LOGS_SERVER:-} ]]; then
     echo "WARNING: Nexus logging server not set"
@@ -32,24 +41,26 @@ else
     nexus_path="${SILO}/${JENKINS_HOSTNAME}/${JOB_NAME}/${BUILD_NUMBER}"
     echo "INFO: Nexus URL $nexus_url path $nexus_path"
 
-    echo "INFO: archiving workspace using pattern(s): $ARCHIVE_ARTIFACTS"
-    lftools deploy archives ${pattern_opts:+"$pattern_opts"} "$nexus_url" "$nexus_path" "$WORKSPACE"
+    echo "INFO: archiving workspace using pattern(s): ${pattern_opts:-}"
+    # shellcheck disable=SC2086
+    lftools deploy archives ${pattern_opts:-} "$nexus_url" "$nexus_path" "$WORKSPACE"
 
-    echo "INFO: archiving logs"
+    echo "INFO: archiving logs to Nexus"
     lftools deploy logs "$nexus_url" "$nexus_path" "${BUILD_URL:-}"
 
-    echo "Build logs: <a href=\"$LOGS_SERVER/$nexus_path\">$LOGS_SERVER/$nexus_path</a>"
+    echo "Nexus build logs: <a href=\"$LOGS_SERVER/$nexus_path\">$LOGS_SERVER/$nexus_path</a>"
 fi
 
 if [[ -z ${S3_BUCKET:-} ]]; then
     echo "WARNING: S3 logging server not set"
 else
-    s3_path="$SILO/$JENKINS_HOSTNAME/$JOB_NAME/$BUILD_NUMBER/"
+    s3_path="logs/$SILO/$JENKINS_HOSTNAME/$JOB_NAME/$BUILD_NUMBER/"
     echo "INFO: S3 path $s3_path"
 
-    lftools deploy s3 ${pattern_opts:+"$pattern_opts"} "$S3_BUCKET" "$s3_path" \
+    echo "INFO: archiving logs to S3"
+    # shellcheck disable=SC2086
+    lftools deploy s3 ${pattern_opts:-} "$S3_BUCKET" "$s3_path" \
         "$BUILD_URL" "$WORKSPACE"
 
-    echo "Build logs: <a href=\"https://$CDN_URL/$s3_path\"></a>"
+    echo "S3 build logs: <a href=\"https://$CDN_URL/$s3_path\">https://$CDN_URL/$s3_path</a>"
 fi
-