From: Thanh Ha Date: Wed, 19 Jul 2017 14:57:10 +0000 (-0400) Subject: Detect if staging has failed X-Git-Tag: release/nitrogen~263 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=3e0433492ba64a4bad973384da83ca0bff54a526;p=releng%2Fbuilder.git Detect if staging has failed The mvn command always exits 0 when using the staging plugin to stage a Nexus repository. Due to this when failure occurs we do not currently detect it. This patch parses the staging log file for any lines starting with [ERROR] (typical of mvn errors) and exits the script with a failure code if detected to make Jenkins fail the build. Issue: RELENG-218 Change-Id: I5ddc56d88ca23baada1a8044ef9dc26345a583f9 Signed-off-by: Thanh Ha --- diff --git a/jjb/autorelease/include-raw-autorelease-maven-deploy.sh b/jjb/autorelease/include-raw-autorelease-maven-deploy.sh index 8479b95a2..33c835b81 100644 --- a/jjb/autorelease/include-raw-autorelease-maven-deploy.sh +++ b/jjb/autorelease/include-raw-autorelease-maven-deploy.sh @@ -9,6 +9,8 @@ # http://www.eclipse.org/legal/epl-v10.html ############################################################################## +STAGING_LOG="$WORKSPACE/deploy-staged-repository.log" + # Assuming that mvn deploy created the hide/from/pom/files/stage directory. cd hide/from/pom/files || exit 1 mkdir -p m2repo/org/opendaylight/ @@ -35,7 +37,7 @@ rsync -avz --remove-source-files \ -DstagingProfileId="$NEXUS_STAGING_PROFILE" \ -DserverId="$NEXUS_STAGING_SERVER_ID" \ -s "$SETTINGS_FILE" \ - -gs "$GLOBAL_SETTINGS_FILE" | tee "$WORKSPACE/deploy-staged-repository.log" + -gs "$GLOBAL_SETTINGS_FILE" | tee "$STAGING_LOG" # Log all files larger than 200 MB into large-files.log while IFS= read -r -d '' file @@ -46,3 +48,9 @@ do echo "$FILE_SIZE $file" >> "$WORKSPACE/large-files.log" fi done < <(find "$(pwd)/m2repo" -type f -print0) + +# Detect if staging failed: mvn always exits 0 even if staging failed. +if grep '^\[ERROR\]' "$STAGING_LOG"; then + echo "Error creating staging repo. Refer to logs above for details." + exit 1 +fi