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

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


The following commit(s) were added to refs/heads/HBASE-29980 by this push:
     new b8156d99e55 parallel
b8156d99e55 is described below

commit b8156d99e5520a415156000874cfbc9a514867df
Author: Duo Zhang <[email protected]>
AuthorDate: Mon Mar 9 10:57:20 2026 +0800

    parallel
---
 dev-support/Jenkinsfile | 96 +++++++++++++++++++++++++------------------------
 1 file changed, 49 insertions(+), 47 deletions(-)

diff --git a/dev-support/Jenkinsfile b/dev-support/Jenkinsfile
index 299370fca18..8383f72778e 100644
--- a/dev-support/Jenkinsfile
+++ b/dev-support/Jenkinsfile
@@ -77,56 +77,58 @@ pipeline {
       }
     }
     stage ('thirdparty installs') {
-      stage ('yetus install') {
-        steps {
-          // directory must be unique for each parallel stage, because jenkins 
runs them in the same workspace :(
-          dir('downloads-yetus') {
-            // can't just do a simple echo or the directory won't be created. 
:(
-            sh '''#!/usr/bin/env bash
-              echo "Make sure we have a directory for downloading 
dependencies: $(pwd)"
-            '''
-          }
-          sh  '''#!/usr/bin/env bash
-            set -e
-            echo "Ensure we have a copy of Apache Yetus."
-            if [[ true !=  "${USE_YETUS_PRERELEASE}" ]]; then
-              YETUS_DIR="${WORKSPACE}/yetus-${YETUS_RELEASE}"
-              echo "Checking for Yetus ${YETUS_RELEASE} in '${YETUS_DIR}'"
-              if ! "${YETUS_DIR}/bin/test-patch" --version >/dev/null 2>&1 ; 
then
-                rm -rf "${YETUS_DIR}"
-                
"${WORKSPACE}/component/dev-support/jenkins-scripts/cache-apache-project-artifact.sh"
 \
-                    --working-dir "${WORKSPACE}/downloads-yetus" \
-                    --keys 'https://downloads.apache.org/yetus/KEYS' \
-                    --verify-tar-gz \
-                    "${WORKSPACE}/yetus-${YETUS_RELEASE}-bin.tar.gz" \
-                    
"yetus/${YETUS_RELEASE}/apache-yetus-${YETUS_RELEASE}-bin.tar.gz"
-                mv "yetus-${YETUS_RELEASE}-bin.tar.gz" yetus.tar.gz
+      parallel {
+        stage ('yetus install') {
+          steps {
+            // directory must be unique for each parallel stage, because 
jenkins runs them in the same workspace :(
+            dir('downloads-yetus') {
+              // can't just do a simple echo or the directory won't be 
created. :(
+              sh '''#!/usr/bin/env bash
+                echo "Make sure we have a directory for downloading 
dependencies: $(pwd)"
+              '''
+            }
+            sh  '''#!/usr/bin/env bash
+              set -e
+              echo "Ensure we have a copy of Apache Yetus."
+              if [[ true !=  "${USE_YETUS_PRERELEASE}" ]]; then
+                YETUS_DIR="${WORKSPACE}/yetus-${YETUS_RELEASE}"
+                echo "Checking for Yetus ${YETUS_RELEASE} in '${YETUS_DIR}'"
+                if ! "${YETUS_DIR}/bin/test-patch" --version >/dev/null 2>&1 ; 
then
+                  rm -rf "${YETUS_DIR}"
+                  
"${WORKSPACE}/component/dev-support/jenkins-scripts/cache-apache-project-artifact.sh"
 \
+                      --working-dir "${WORKSPACE}/downloads-yetus" \
+                      --keys 'https://downloads.apache.org/yetus/KEYS' \
+                      --verify-tar-gz \
+                      "${WORKSPACE}/yetus-${YETUS_RELEASE}-bin.tar.gz" \
+                      
"yetus/${YETUS_RELEASE}/apache-yetus-${YETUS_RELEASE}-bin.tar.gz"
+                  mv "yetus-${YETUS_RELEASE}-bin.tar.gz" yetus.tar.gz
+                else
+                  echo "Reusing cached install of Apache Yetus version 
${YETUS_RELEASE}."
+                fi
               else
-                echo "Reusing cached install of Apache Yetus version 
${YETUS_RELEASE}."
+                YETUS_DIR="${WORKSPACE}/yetus-git"
+                rm -rf "${YETUS_DIR}"
+                echo "downloading from github"
+                curl -L --fail 
https://api.github.com/repos/apache/yetus/tarball/HEAD -o yetus.tar.gz
               fi
-            else
-              YETUS_DIR="${WORKSPACE}/yetus-git"
-              rm -rf "${YETUS_DIR}"
-              echo "downloading from github"
-              curl -L --fail 
https://api.github.com/repos/apache/yetus/tarball/HEAD -o yetus.tar.gz
-            fi
-            if [ ! -d "${YETUS_DIR}" ]; then
-              echo "unpacking yetus into '${YETUS_DIR}'"
-              mkdir -p "${YETUS_DIR}"
-              gunzip -c yetus.tar.gz | tar xpf - -C "${YETUS_DIR}" 
--strip-components 1
-            fi
-          '''
-          // Set up the file we need at PERSONALITY_FILE location
-          dir ("tools") {
-            sh """#!/usr/bin/env bash
-              set -e
-              echo "Downloading Project personality from 
${env.PROJECT_PERSONALITY}"
-              curl -L  -o personality.sh "${env.PROJECT_PERSONALITY}"
-            """
+              if [ ! -d "${YETUS_DIR}" ]; then
+                echo "unpacking yetus into '${YETUS_DIR}'"
+                mkdir -p "${YETUS_DIR}"
+                gunzip -c yetus.tar.gz | tar xpf - -C "${YETUS_DIR}" 
--strip-components 1
+              fi
+            '''
+            // Set up the file we need at PERSONALITY_FILE location
+            dir ("tools") {
+              sh """#!/usr/bin/env bash
+                set -e
+                echo "Downloading Project personality from 
${env.PROJECT_PERSONALITY}"
+                curl -L  -o personality.sh "${env.PROJECT_PERSONALITY}"
+              """
+            }
+            stash name: 'yetus', includes: 
"yetus-*/*,yetus-*/**/*,tools/personality.sh"
           }
-          stash name: 'yetus', includes: 
"yetus-*/*,yetus-*/**/*,tools/personality.sh"
-        }
-      }
+        } // stage ('yetus install')
+      } // parallel
     } //stage ('thirdparty installs')
     stage ('init health results') {
       steps {

Reply via email to