You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2021/10/09 02:14:26 UTC

[hbase] branch branch-2.3 updated: HBASE-26339 SshPublisher will skip uploading artifacts if the build is failure (#3736)

This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch branch-2.3
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.3 by this push:
     new 2225b08  HBASE-26339 SshPublisher will skip uploading artifacts if the build is failure (#3736)
2225b08 is described below

commit 2225b089c9ff34606818f7ee722fd5df4e712e0f
Author: Duo Zhang <zh...@apache.org>
AuthorDate: Sat Oct 9 09:43:43 2021 +0800

    HBASE-26339 SshPublisher will skip uploading artifacts if the build is failure (#3736)
    
    Signed-off-by: Josh Elser <el...@apache.org>
    Signed-off-by: Nick Dimiduk <nd...@apache.org>
    Signed-off-by: Sean Busbey <bu...@apache.org>
---
 dev-support/Jenkinsfile        | 182 ++++++++++++++++++++++++++---------------
 dev-support/Jenkinsfile_GitHub |  69 ++++++++++++----
 2 files changed, 167 insertions(+), 84 deletions(-)

diff --git a/dev-support/Jenkinsfile b/dev-support/Jenkinsfile
index 9853add..c588acf 100644
--- a/dev-support/Jenkinsfile
+++ b/dev-support/Jenkinsfile
@@ -210,7 +210,7 @@ pipeline {
               rm -rf "${OUTPUT_DIR}" && mkdir "${OUTPUT_DIR}"
               echo '(x) {color:red}-1 general checks{color}' >"${OUTPUT_DIR}/commentfile"
               echo "-- Something went wrong running this stage, please [check relevant console output|${BUILD_URL}/console]." >> "${OUTPUT_DIR}/commentfile"
-'''
+            '''
             unstash 'yetus'
             // since we have a new node definition we need to re-do the scm checkout
             dir('component') {
@@ -222,20 +222,30 @@ pipeline {
               "${BASEDIR}/dev-support/gather_machine_environment.sh" "${OUTPUT_DIR_RELATIVE}/machine"
               echo "got the following saved stats in '${OUTPUT_DIR_RELATIVE}/machine'"
               ls -lh "${OUTPUT_DIR_RELATIVE}/machine"
-'''
-            // TODO roll this into the hbase_nightly_yetus script
-            sh '''#!/usr/bin/env bash
-              set -e
-              declare -i status=0
-              if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then
-                echo '(/) {color:green}+1 general checks{color}' > "${OUTPUT_DIR}/commentfile"
-              else
-                echo '(x) {color:red}-1 general checks{color}' > "${OUTPUT_DIR}/commentfile"
-                status=1
-              fi
-              echo "-- For more information [see general report|${BUILD_URL}General_20Nightly_20Build_20Report/]" >> "${OUTPUT_DIR}/commentfile"
-              exit "${status}"
             '''
+            // TODO roll this into the hbase_nightly_yetus script
+            script {
+              def ret = sh(
+                returnStatus: true,
+                script: '''#!/usr/bin/env bash
+                  set -e
+                  declare -i status=0
+                  if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then
+                    echo '(/) {color:green}+1 general checks{color}' > "${OUTPUT_DIR}/commentfile"
+                  else
+                    echo '(x) {color:red}-1 general checks{color}' > "${OUTPUT_DIR}/commentfile"
+                    status=1
+                  fi
+                  echo "-- For more information [see general report|${BUILD_URL}General_20Nightly_20Build_20Report/]" >> "${OUTPUT_DIR}/commentfile"
+                  exit "${status}"
+                '''
+              )
+              if (ret != 0) {
+                // mark the build as UNSTABLE instead of FAILURE, to avoid skipping the later publish of
+                // test output. See HBASE-26339 for more details.
+                currentBuild.result = 'UNSTABLE'
+              }
+            }
           }
           post {
             always {
@@ -278,7 +288,7 @@ pipeline {
               rm -rf "${OUTPUT_DIR}" && mkdir "${OUTPUT_DIR}"
               echo '(x) {color:red}-1 jdk7 checks{color}' >"${OUTPUT_DIR}/commentfile"
               echo "-- Something went wrong running this stage, please [check relevant console output|${BUILD_URL}/console]." >> "${OUTPUT_DIR}/commentfile"
-'''
+            '''
             unstash 'yetus'
             dir('component') {
               checkout scm
@@ -289,19 +299,29 @@ pipeline {
               "${BASEDIR}/dev-support/gather_machine_environment.sh" "${OUTPUT_DIR_RELATIVE}/machine"
               echo "got the following saved stats in '${OUTPUT_DIR_RELATIVE}/machine'"
               ls -lh "${OUTPUT_DIR_RELATIVE}/machine"
-'''
-            sh '''#!/usr/bin/env bash
-              set -e
-              declare -i status=0
-              if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then
-                echo '(/) {color:green}+1 jdk7 checks{color}' > "${OUTPUT_DIR}/commentfile"
-              else
-                echo '(x) {color:red}-1 jdk7 checks{color}' > "${OUTPUT_DIR}/commentfile"
-                status=1
-              fi
-              echo "-- For more information [see jdk7 report|${BUILD_URL}/JDK7_20Nightly_20Build_20Report/]" >> "${OUTPUT_DIR}/commentfile"
-              exit "${status}"
             '''
+            script {
+              def ret = sh(
+                returnStatus: true,
+                script: '''#!/usr/bin/env bash
+                  set -e
+                  declare -i status=0
+                  if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then
+                    echo '(/) {color:green}+1 jdk7 checks{color}' > "${OUTPUT_DIR}/commentfile"
+                  else
+                    echo '(x) {color:red}-1 jdk7 checks{color}' > "${OUTPUT_DIR}/commentfile"
+                    status=1
+                  fi
+                  echo "-- For more information [see jdk7 report|${BUILD_URL}/JDK7_20Nightly_20Build_20Report/]" >> "${OUTPUT_DIR}/commentfile"
+                  exit "${status}"
+                '''
+              )
+              if (ret != 0) {
+                // mark the build as UNSTABLE instead of FAILURE, to avoid skipping the later publish of
+                // test output. See HBASE-26339 for more details.
+                currentBuild.result = 'UNSTABLE'
+              }
+            }
           }
           post {
             always {
@@ -375,7 +395,7 @@ pipeline {
               rm -rf "${OUTPUT_DIR}" && mkdir "${OUTPUT_DIR}"
               echo '(x) {color:red}-1 jdk8 hadoop2 checks{color}' >"${OUTPUT_DIR}/commentfile"
               echo "-- Something went wrong running this stage, please [check relevant console output|${BUILD_URL}/console]." >> "${OUTPUT_DIR}/commentfile"
-'''
+            '''
             unstash 'yetus'
             dir('component') {
               checkout scm
@@ -386,19 +406,29 @@ pipeline {
               "${BASEDIR}/dev-support/gather_machine_environment.sh" "${OUTPUT_DIR_RELATIVE}/machine"
               echo "got the following saved stats in '${OUTPUT_DIR_RELATIVE}/machine'"
               ls -lh "${OUTPUT_DIR_RELATIVE}/machine"
-'''
-            sh '''#!/usr/bin/env bash
-              set -e
-              declare -i status=0
-              if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then
-                echo '(/) {color:green}+1 jdk8 hadoop2 checks{color}' > "${OUTPUT_DIR}/commentfile"
-              else
-                echo '(x) {color:red}-1 jdk8 hadoop2 checks{color}' > "${OUTPUT_DIR}/commentfile"
-                status=1
-              fi
-              echo "-- For more information [see jdk8 (hadoop2) report|${BUILD_URL}JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/]" >> "${OUTPUT_DIR}/commentfile"
-              exit "${status}"
             '''
+            script {
+              def ret = sh(
+                returnStatus: true,
+                script: '''#!/usr/bin/env bash
+                  set -e
+                  declare -i status=0
+                  if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then
+                    echo '(/) {color:green}+1 jdk8 hadoop2 checks{color}' > "${OUTPUT_DIR}/commentfile"
+                  else
+                    echo '(x) {color:red}-1 jdk8 hadoop2 checks{color}' > "${OUTPUT_DIR}/commentfile"
+                    status=1
+                  fi
+                  echo "-- For more information [see jdk8 (hadoop2) report|${BUILD_URL}JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/]" >> "${OUTPUT_DIR}/commentfile"
+                  exit "${status}"
+                '''
+              )
+              if (ret != 0) {
+                // mark the build as UNSTABLE instead of FAILURE, to avoid skipping the later publish of
+                // test output. See HBASE-26339 for more details.
+                currentBuild.result = 'UNSTABLE'
+              }
+            }
           }
           post {
             always {
@@ -479,7 +509,7 @@ pipeline {
               rm -rf "${OUTPUT_DIR}" && mkdir "${OUTPUT_DIR}"
               echo '(x) {color:red}-1 jdk8 hadoop3 checks{color}' >"${OUTPUT_DIR}/commentfile"
               echo "-- Something went wrong running this stage, please [check relevant console output|${BUILD_URL}/console]." >> "${OUTPUT_DIR}/commentfile"
-'''
+            '''
             unstash 'yetus'
             dir('component') {
               checkout scm
@@ -490,19 +520,29 @@ pipeline {
               "${BASEDIR}/dev-support/gather_machine_environment.sh" "${OUTPUT_DIR_RELATIVE}/machine"
               echo "got the following saved stats in '${OUTPUT_DIR_RELATIVE}/machine'"
               ls -lh "${OUTPUT_DIR_RELATIVE}/machine"
-'''
-            sh '''#!/usr/bin/env bash
-              set -e
-              declare -i status=0
-              if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then
-                echo '(/) {color:green}+1 jdk8 hadoop3 checks{color}' > "${OUTPUT_DIR}/commentfile"
-              else
-                echo '(x) {color:red}-1 jdk8 hadoop3 checks{color}' > "${OUTPUT_DIR}/commentfile"
-                status=1
-              fi
-              echo "-- For more information [see jdk8 (hadoop3) report|${BUILD_URL}JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]" >> "${OUTPUT_DIR}/commentfile"
-              exit "${status}"
             '''
+            script {
+              def ret = sh(
+                returnStatus: true,
+                script: '''#!/usr/bin/env bash
+                  set -e
+                  declare -i status=0
+                  if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then
+                    echo '(/) {color:green}+1 jdk8 hadoop3 checks{color}' > "${OUTPUT_DIR}/commentfile"
+                  else
+                    echo '(x) {color:red}-1 jdk8 hadoop3 checks{color}' > "${OUTPUT_DIR}/commentfile"
+                    status=1
+                  fi
+                  echo "-- For more information [see jdk8 (hadoop3) report|${BUILD_URL}JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]" >> "${OUTPUT_DIR}/commentfile"
+                  exit "${status}"
+                '''
+              )
+              if (ret != 0) {
+                // mark the build as UNSTABLE instead of FAILURE, to avoid skipping the later publish of
+                // test output. See HBASE-26339 for more details.
+                currentBuild.result = 'UNSTABLE'
+              }
+            }
           }
           post {
             always {
@@ -585,7 +625,7 @@ pipeline {
               rm -rf "${OUTPUT_DIR}" && mkdir "${OUTPUT_DIR}"
               echo '(x) {color:red}-1 jdk11 hadoop3 checks{color}' >"${OUTPUT_DIR}/commentfile"
               echo "-- Something went wrong running this stage, please [check relevant console output|${BUILD_URL}/console]." >> "${OUTPUT_DIR}/commentfile"
-'''
+            '''
             unstash 'yetus'
             dir('component') {
               checkout scm
@@ -596,19 +636,29 @@ pipeline {
               "${BASEDIR}/dev-support/gather_machine_environment.sh" "${OUTPUT_DIR_RELATIVE}/machine"
               echo "got the following saved stats in '${OUTPUT_DIR_RELATIVE}/machine'"
               ls -lh "${OUTPUT_DIR_RELATIVE}/machine"
-'''
-            sh '''#!/usr/bin/env bash
-              set -e
-              declare -i status=0
-              if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then
-                echo '(/) {color:green}+1 jdk11 hadoop3 checks{color}' > "${OUTPUT_DIR}/commentfile"
-              else
-                echo '(x) {color:red}-1 jdk11 hadoop3 checks{color}' > "${OUTPUT_DIR}/commentfile"
-                status=1
-              fi
-              echo "-- For more information [see jdk11 report|${BUILD_URL}JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]" >> "${OUTPUT_DIR}/commentfile"
-              exit "${status}"
             '''
+            script {
+              def ret = sh(
+                returnStatus: true,
+                script: '''#!/usr/bin/env bash
+                  set -e
+                  declare -i status=0
+                  if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then
+                    echo '(/) {color:green}+1 jdk11 hadoop3 checks{color}' > "${OUTPUT_DIR}/commentfile"
+                  else
+                    echo '(x) {color:red}-1 jdk11 hadoop3 checks{color}' > "${OUTPUT_DIR}/commentfile"
+                    status=1
+                  fi
+                  echo "-- For more information [see jdk11 report|${BUILD_URL}JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]" >> "${OUTPUT_DIR}/commentfile"
+                  exit "${status}"
+                '''
+              )
+              if (ret != 0) {
+                // mark the build as UNSTABLE instead of FAILURE, to avoid skipping the later publish of
+                // test output. See HBASE-26339 for more details.
+                currentBuild.result = 'UNSTABLE'
+              }
+            }
           }
           post {
             always {
diff --git a/dev-support/Jenkinsfile_GitHub b/dev-support/Jenkinsfile_GitHub
index 834f5e4..6a952fa 100644
--- a/dev-support/Jenkinsfile_GitHub
+++ b/dev-support/Jenkinsfile_GitHub
@@ -102,12 +102,23 @@ pipeline {
                                   passwordVariable: 'GITHUB_PASSWORD',
                                   usernameVariable: 'GITHUB_USER'
                                 )]) {
-                                sh label: 'test-patch', script: '''#!/bin/bash -e
-                                    hostname -a ; pwd ; ls -la
-                                    printenv 2>&1 | sort
-                                    echo "[INFO] Launching Yetus via ${YETUS_DRIVER}"
-                                    "${YETUS_DRIVER}"
-                                '''
+                                script {
+                                  def ret = sh(
+                                    label: 'test-patch',
+                                    returnStatus: true,
+                                    script: '''#!/bin/bash -e
+                                      hostname -a ; pwd ; ls -la
+                                      printenv 2>&1 | sort
+                                      echo "[INFO] Launching Yetus via ${YETUS_DRIVER}"
+                                      "${YETUS_DRIVER}"
+                                    '''
+                                  )
+                                  if (ret != 0) {
+                                    // mark the build as UNSTABLE instead of FAILURE, to avoid skipping the later publish of
+                                    // test output. See HBASE-26339 for more details.
+                                    currentBuild.result = 'UNSTABLE'
+                                  }
+                                }
                             }
                         }
                     }
@@ -189,12 +200,23 @@ pipeline {
                                 passwordVariable: 'GITHUB_PASSWORD',
                                 usernameVariable: 'GITHUB_USER'
                               )]) {
-                                sh label: 'test-patch', script: '''#!/bin/bash -e
-                                    hostname -a ; pwd ; ls -la
-                                    printenv 2>&1 | sort
-                                    echo "[INFO] Launching Yetus via ${YETUS_DRIVER}"
-                                    "${YETUS_DRIVER}"
-                                '''
+                                script {
+                                  def ret = sh(
+                                    label: 'test-patch',
+                                    returnStatus: true,
+                                    script: '''#!/bin/bash -e
+                                      hostname -a ; pwd ; ls -la
+                                      printenv 2>&1 | sort
+                                      echo "[INFO] Launching Yetus via ${YETUS_DRIVER}"
+                                      "${YETUS_DRIVER}"
+                                    '''
+                                  )
+                                  if (ret != 0) {
+                                    // mark the build as UNSTABLE instead of FAILURE, to avoid skipping the later publish of
+                                    // test output. See HBASE-26339 for more details.
+                                    currentBuild.result = 'UNSTABLE'
+                                  }
+                                }
                             }
                         }
                     }
@@ -310,12 +332,23 @@ pipeline {
                                 passwordVariable: 'GITHUB_PASSWORD',
                                 usernameVariable: 'GITHUB_USER'
                               )]) {
-                                sh label: 'test-patch', script: '''#!/bin/bash -e
-                                    hostname -a ; pwd ; ls -la
-                                    printenv 2>&1 | sort
-                                    echo "[INFO] Launching Yetus via ${YETUS_DRIVER}"
-                                    "${YETUS_DRIVER}"
-                                '''
+                                script {
+                                  def ret = sh(
+                                    label: 'test-patch',
+                                    returnStatus: true,
+                                    script: '''#!/bin/bash -e
+                                      hostname -a ; pwd ; ls -la
+                                      printenv 2>&1 | sort
+                                      echo "[INFO] Launching Yetus via ${YETUS_DRIVER}"
+                                      "${YETUS_DRIVER}"
+                                    '''
+                                  )
+                                  if (ret != 0) {
+                                    // mark the build as UNSTABLE instead of FAILURE, to avoid skipping the later publish of
+                                    // test output. See HBASE-26339 for more details.
+                                    currentBuild.result = 'UNSTABLE'
+                                  }
+                                }
                             }
                         }
                     }