Merge "Add templates Tox + SonarQube Jenkins plugin"
[releng/global-jjb.git] / shell / logs-deploy.sh
1 #!/bin/bash -l
2 # SPDX-License-Identifier: EPL-1.0
3 ##############################################################################
4 # Copyright (c) 2017 The Linux Foundation and others.
5 #
6 # All rights reserved. This program and the accompanying materials
7 # are made available under the terms of the Eclipse Public License v1.0
8 # which accompanies this distribution, and is available at
9 # http://www.eclipse.org/legal/epl-v10.html
10 ##############################################################################
11 echo "---> logs-deploy.sh"
12
13 # Ensure we fail the job if any steps fail
14 # Disable 'globbing'
15 set -euf -o pipefail
16
17 if [[ -z ${LOGS_SERVER:-} ]]; then
18     echo "WARNING: Nexus logging server not set"
19 else
20     nexus_url="${NEXUSPROXY:-$NEXUS_URL}"
21     nexus_path="${SILO}/${JENKINS_HOSTNAME}/${JOB_NAME}/${BUILD_NUMBER}"
22     echo "INFO: Nexus URL $nexus_url path $nexus_path"
23
24     if [[ -n ${ARCHIVE_ARTIFACTS:-} ]] ; then
25         # Handle multiple search extensions as separate values to '-p|--pattern'
26         # "arg1 arg2" -> (-p arg1 -p arg2)
27         pattern_opts=()
28         for arg in $ARCHIVE_ARTIFACTS; do
29             pattern_opts+=("-p" "$arg")
30         done
31         echo "INFO: archiving workspace using pattern(s): $ARCHIVE_ARTIFACTS"
32         lftools deploy archives "${pattern_opts[@]}" \
33                 "$nexus_url" "$nexus_path" "$WORKSPACE"
34     else
35         echo "INFO: archiving workspace"
36         lftools deploy archives "$nexus_url" "$nexus_path" "$WORKSPACE"
37     fi
38     echo "INFO: archiving logs"
39     lftools deploy logs "$nexus_url" "$nexus_path" "${BUILD_URL:-}"
40
41     echo "Build logs: <a href=\"$LOGS_SERVER/$nexus_path\">$LOGS_SERVER/$nexus_path</a>"
42 fi
43
44 if [[ -z ${S3_BUCKET:-} ]]; then
45     echo "WARNING: S3 logging server not set"
46 else
47     s3_path="$SILO/$JENKINS_HOSTNAME/$JOB_NAME/$BUILD_NUMBER"
48     echo "INFO: S3 path $s3_path"
49
50     pattern_opts=()
51     for arg in $ARCHIVE_ARTIFACTS; do
52         pattern_opts+=("-p" "$arg")
53     done
54     lftools deploy s3 "${pattern_opts[@]}" "$S3_BUCKET" "$s3_path" \
55         "$BUILD_URL" "$WORKSPACE"
56
57     echo "Build logs: <a href=\"https://$S3_BUCKET.s3.amazonaws.com/$s3_path\"></a>"
58 fi
59