HBASE-20335 nightly job bash cleanup. * Ensure Jenkins steps that invoke bash inline set -e * machine stats script should check that passed directory will work
Signed-off-by: Michael Stack <st...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1ea3a8bc Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1ea3a8bc Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1ea3a8bc Branch: refs/heads/branch-1.2 Commit: 1ea3a8bc86a4132cb3f5df85c60e939ca9c77a92 Parents: a69e879 Author: Sean Busbey <bus...@apache.org> Authored: Tue Apr 3 12:08:05 2018 -0500 Committer: Sean Busbey <bus...@apache.org> Committed: Wed Apr 11 01:31:28 2018 -0500 ---------------------------------------------------------------------- dev-support/Jenkinsfile | 11 +++++++++++ dev-support/gather_machine_environment.sh | 5 +++++ 2 files changed, 16 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/1ea3a8bc/dev-support/Jenkinsfile ---------------------------------------------------------------------- diff --git a/dev-support/Jenkinsfile b/dev-support/Jenkinsfile index eeeda83..ffd8c18 100644 --- a/dev-support/Jenkinsfile +++ b/dev-support/Jenkinsfile @@ -63,6 +63,7 @@ pipeline { stage ('yetus install') { steps { 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}" @@ -101,6 +102,7 @@ fi // Set up the file we need at PERSONALITY_FILE location dir ("tools") { sh """#!/usr/bin/env bash +set -e echo "Downloading Project personality." curl -L -o personality.sh "${env.PROJECT_PERSONALITY}" """ @@ -144,12 +146,14 @@ curl -L -o personality.sh "${env.PROJECT_PERSONALITY}" checkout scm } sh '''#!/usr/bin/env bash + set -e rm -rf "${OUTPUT_DIR}" && mkdir "${OUTPUT_DIR}" rm -rf "${OUTPUT_DIR}/machine" && mkdir "${OUTPUT_DIR}/machine" "${BASEDIR}/dev-support/gather_machine_environment.sh" "${OUTPUT_DIR_RELATIVE}/machine" ''' // TODO roll this into the hbase_nightly_yetus script sh '''#!/usr/bin/env bash + set -e rm -rf "${OUTPUT_DIR}/commentfile}" declare -i status=0 if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then @@ -202,11 +206,13 @@ curl -L -o personality.sh "${env.PROJECT_PERSONALITY}" checkout scm } sh '''#!/usr/bin/env bash + set -e rm -rf "${OUTPUT_DIR}" && mkdir "${OUTPUT_DIR}" rm -rf "${OUTPUT_DIR}/machine" && mkdir "${OUTPUT_DIR}/machine" "${BASEDIR}/dev-support/gather_machine_environment.sh" "${OUTPUT_DIR_RELATIVE}/machine" ''' sh '''#!/usr/bin/env bash + set -e rm -rf "${OUTPUT_DIR}/commentfile}" declare -i status=0 if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then @@ -273,11 +279,13 @@ curl -L -o personality.sh "${env.PROJECT_PERSONALITY}" checkout scm } sh '''#!/usr/bin/env bash + set -e rm -rf "${OUTPUT_DIR}" && mkdir "${OUTPUT_DIR}" rm -rf "${OUTPUT_DIR}/machine" && mkdir "${OUTPUT_DIR}/machine" "${BASEDIR}/dev-support/gather_machine_environment.sh" "${OUTPUT_DIR_RELATIVE}/machine" ''' sh '''#!/usr/bin/env bash + set -e rm -rf "${OUTPUT_DIR}/commentfile}" declare -i status=0 if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then @@ -351,11 +359,13 @@ curl -L -o personality.sh "${env.PROJECT_PERSONALITY}" checkout scm } sh '''#!/usr/bin/env bash + set -e rm -rf "${OUTPUT_DIR}" && mkdir "${OUTPUT_DIR}" rm -rf "${OUTPUT_DIR}/machine" && mkdir "${OUTPUT_DIR}/machine" "${BASEDIR}/dev-support/gather_machine_environment.sh" "${OUTPUT_DIR_RELATIVE}/machine" ''' sh '''#!/usr/bin/env bash + set -e rm -rf "${OUTPUT_DIR}/commentfile}" declare -i status=0 if "${BASEDIR}/dev-support/hbase_nightly_yetus.sh" ; then @@ -425,6 +435,7 @@ curl -L -o personality.sh "${env.PROJECT_PERSONALITY}" checkout scm } sh '''#!/usr/bin/env bash + set -e rm -rf "output-srctarball/machine" && mkdir "output-srctarball/machine" "${BASEDIR}/dev-support/gather_machine_environment.sh" "output-srctarball/machine" ''' http://git-wip-us.apache.org/repos/asf/hbase/blob/1ea3a8bc/dev-support/gather_machine_environment.sh ---------------------------------------------------------------------- diff --git a/dev-support/gather_machine_environment.sh b/dev-support/gather_machine_environment.sh index 589dffe..fa99d3f 100755 --- a/dev-support/gather_machine_environment.sh +++ b/dev-support/gather_machine_environment.sh @@ -33,6 +33,11 @@ fi declare output=$1 +if [ ! -d "${output}" ] || [ ! -w "${output}" ]; then + echo "Specified output directory must exist and be writable." >&2 + exit 1 +fi + echo "getting machine specs, find in ${BUILD_URL}/artifact/${output}/" echo "JAVA_HOME: ${JAVA_HOME}" >"${output}/java_home" 2>&1 || true ls -l "${JAVA_HOME}" >"${output}/java_home_ls" 2>&1 || true