Pass multiple pattern args in logs-deploy.sh 72/15772/2 v0.37.x v0.37.6
authorTim Johnson <tijohnson@linuxfoundation.org>
Tue, 28 May 2019 09:37:13 +0000 (19:37 +1000)
committerAnil Belur <abelur@linuxfoundation.org>
Tue, 28 May 2019 10:43:12 +0000 (20:43 +1000)
Pass multiple args from ARCHIVE_ARTIFACTS as separate '-p' arguments to
'lftools deploy'

RELENG-2039
Change-Id: I4a645f6a4fc62b39e9d4bdbfdbeae49b8e2ca102
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
releasenotes/notes/mutiple-args-logs-deploy-fce71ad1ea331ad6.yaml [new file with mode: 0644]
shell/logs-deploy.sh

diff --git a/releasenotes/notes/mutiple-args-logs-deploy-fce71ad1ea331ad6.yaml b/releasenotes/notes/mutiple-args-logs-deploy-fce71ad1ea331ad6.yaml
new file mode 100644 (file)
index 0000000..e3beff8
--- /dev/null
@@ -0,0 +1,5 @@
+---
+fixes:
+  - |
+    The logs-deploy.sh script now allows ARCHIVE_ARTIFACTS to contain zero or
+    more files.
index 23660d7..f80e0b4 100644 (file)
@@ -10,8 +10,9 @@
 ##############################################################################
 echo "---> logs-deploy.sh"
 
-# Ensure we fail the job if any steps fail.
-set -eu -o pipefail
+# Ensure we fail the job if any steps fail
+# Disable 'globbing'
+set -euf -o pipefail
 
 if [[ -z $"${LOGS_SERVER:-}" ]]; then
     echo "WARNING: Logging server not set"
@@ -19,19 +20,18 @@ else
     nexus_url="${NEXUSPROXY:-$NEXUS_URL}"
     nexus_path="${SILO}/${JENKINS_HOSTNAME}/${JOB_NAME}/${BUILD_NUMBER}"
 
-    # Handle multiple search extensions as separate values to '-p|--pattern'
-    set -f # Disable pathname expansion
-    search_exts=()
-    IFS=' ' read -r -a search_exts <<< "${ARCHIVE_ARTIFACTS:-}"
-    pattern_opts=()
-    for search_ext in "${search_exts[@]:-}";
-    do
-        pattern_opts+=("-p" "$search_ext")
-    done
-
-    lftools deploy archives "${pattern_opts[@]}" "$nexus_url" "$nexus_path" \
-            "$WORKSPACE"
-    set +f  # Enable pathname expansion
+    if [[ -n ${ARCHIVE_ARTIFACTS:-} ]] ; then
+        # Handle multiple search extensions as separate values to '-p|--pattern'
+        # "arg1 arg2" -> (-p arg1 -p arg2)
+        pattern_opts=()
+        for arg in $ARCHIVE_ARTIFACTS; do
+            pattern_opts+=("-p" "$arg")
+        done
+        lftools deploy archives "${pattern_opts[@]}" \
+                "$nexus_url" "$nexus_path" "$WORKSPACE"
+    else
+        lftools deploy archives "$nexus_url" "$nexus_path" "$WORKSPACE"
+    fi
     lftools deploy logs "$nexus_url" "$nexus_path" "${BUILD_URL:-}"
 
     echo "Build logs: <a href=\"$LOGS_SERVER/$nexus_path\">$LOGS_SERVER/$nexus_path</a>"