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 {