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

vbalaji pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hudi.git


The following commit(s) were added to refs/heads/master by this push:
     new e41835f  [HUDI-121] Fix bugs in Release Scripts found during RC 
creation
e41835f is described below

commit e41835fd912d35c52bf339fcef626ca7df06da62
Author: Balaji Varadarajan <[email protected]>
AuthorDate: Tue Oct 1 13:48:05 2019 -0700

    [HUDI-121] Fix bugs in Release Scripts found during RC creation
---
 scripts/release/cut_release_branch.sh      | 38 ++++---------
 scripts/release/validate_staged_release.sh | 86 +++++++++++++++++++-----------
 2 files changed, 65 insertions(+), 59 deletions(-)

diff --git a/scripts/release/cut_release_branch.sh 
b/scripts/release/cut_release_branch.sh
index 7d506fb..8e6e923 100755
--- a/scripts/release/cut_release_branch.sh
+++ b/scripts/release/cut_release_branch.sh
@@ -35,9 +35,10 @@ function clean_up(){
 
 if [[ $# -eq 1 && $1 = "-h" ]]; then
        echo "This script will update apache hudi(incubating) master branch 
with next release version and cut release branch for current development 
version."
-       echo "There are two params required:"
+       echo "There are 3 params required:"
        echo "--release=\${CURRENT_RELEASE_VERSION}"
        echo "--next_release=\${NEXT_RELEASE_VERSION}"
+       echo "--rc_num=\${RC_NUM}"
        exit
 else
        for param in "$@"
@@ -48,9 +49,13 @@ else
                if [[ $param =~ --next_release\=([0-9]\.[0-9]*\.[0-9]) ]]; then
                        NEXT_VERSION_IN_BASE_BRANCH=${BASH_REMATCH[1]}
                fi
+               if [[ $param =~ --rc_num\=([0-9]*) ]]; then
+                        RC_NUM=${BASH_REMATCH[1]}
+               fi
        done
 fi
-if [[ -z "$RELEASE" || -z "$NEXT_VERSION_IN_BASE_BRANCH" ]]; then
+
+if [[ -z "$RELEASE" || -z "$NEXT_VERSION_IN_BASE_BRANCH" || -z "$RC_NUM" ]]; 
then
        echo "This sricpt needs to be ran with params, please run with -h to 
get more instructions."
        exit
 fi
@@ -68,42 +73,19 @@ echo "next_release: ${NEXT_VERSION_IN_BASE_BRANCH}"
 echo "working master branch: ${MASTER_BRANCH}"
 echo "working release branch: ${RELEASE_BRANCH}"
 echo "local repo dir: ~/${LOCAL_CLONE_DIR}/${HUDI_ROOT_DIR}"
+echo "RC_NUM: $RC_NUM
 echo "==============================================================="
 
 cd ~
 if [[ -d ${LOCAL_CLONE_DIR} ]]; then
   rm -rf ${LOCAL_CLONE_DIR}
 fi
+
 mkdir ${LOCAL_CLONE_DIR}
 cd ${LOCAL_CLONE_DIR}
 git clone ${GITHUB_REPO_URL}
 cd ${HUDI_ROOT_DIR}
 
-# Update Notice.txt
-mvn notice:generate
-
-echo "==============Update NOTICE.txt in master branch as 
following================"
-git diff
-echo "==============================================================="
-
-echo "Please make sure all changes above are expected. Do you confirm to 
commit?: [y|N]"
-read confirmation
-if [[ $confirmation != "y" ]]; then
-  echo "Exit without committing any changes on master branch."
-  clean_up
-  exit
-fi
-
-git commit -am "Updating NOTICE.txt in master" --allow-empty
-
-# Pushing NOTICE.txt changes to master
-if git push origin ${MASTER_BRANCH}; then
-  break
-else
-  clean_up
-  exit
-fi
-
 # Now, create local release branch
 git branch ${RELEASE_BRANCH}
 
@@ -139,7 +121,7 @@ fi
 
 # Checkout and update release branch - Add incubating and remove snapshot
 git checkout ${RELEASE_BRANCH}
-mvn versions:set -DnewVersion=${RELEASE}-incubating
+mvn versions:set -DnewVersion=${RELEASE}-incubating-rc${RC_NUM}
 
 echo "==================Current working branch======================="
 echo ${RELEASE_BRANCH}
diff --git a/scripts/release/validate_staged_release.sh 
b/scripts/release/validate_staged_release.sh
index 0c9a63e..62fa598 100755
--- a/scripts/release/validate_staged_release.sh
+++ b/scripts/release/validate_staged_release.sh
@@ -21,14 +21,36 @@
 set -o errexit
 set -o nounset
 # print command before executing
-set -o xtrace
+#set -o xtrace
 
 CURR_DIR=`pwd`
-if [[ `basename $CURR_DIR` != "release" ]] ; then
-  echo "You have to call the script from the release/ dir"
+if [[ `basename $CURR_DIR` != "scripts" ]] ; then
+  echo "You have to call the script from the scripts/ dir"
   exit 1
 fi
 
+REDIRECT=' > /dev/null 2>&1'
+if [[ $# -lt 2 ]]; then
+    echo "This script will validate source release candidate published in dist 
for apache hudi(incubating)"
+    echo "There are two params required:"
+    echo "--release=\${CURRENT_RELEASE_VERSION}"
+    echo "--rc_num=\${RC_NUM}"
+    exit
+else
+    for param in "$@"
+    do
+       if [[ $param =~ --release\=([0-9]\.[0-9]*\.[0-9]) ]]; then
+               RELEASE_VERSION=${BASH_REMATCH[1]}
+       fi
+       if [[ $param =~ --rc_num\=([0-9]*) ]]; then
+                RC_NUM=${BASH_REMATCH[1]}
+       fi
+       if [[ $param =~ --verbose ]]; then
+               REDIRECT=""
+        fi
+    done
+fi
+
 if [ "$(uname)" == "Darwin" ]; then
     SHASUM="shasum -a 512"
 else
@@ -38,7 +60,7 @@ fi
 
 # Get to a scratch dir
 RELEASE_TOOL_DIR=`pwd`
-WORK_DIR=${RELEASE_TOOL_DIR}/validation_scratch_dir
+WORK_DIR=/tmp/validation_scratch_dir_001
 rm -rf $WORK_DIR
 mkdir $WORK_DIR
 pushd $WORK_DIR
@@ -53,73 +75,75 @@ HUDI_REPO=hudi
 rm -rf $LOCAL_SVN_DIR
 mkdir $LOCAL_SVN_DIR
 cd $LOCAL_SVN_DIR
-svn co ${ROOT_SVN_URL}/${DEV_REPO}/${HUDI_REPO}
+bash -c "svn co ${ROOT_SVN_URL}/${DEV_REPO}/${HUDI_REPO} $REDIRECT"
 
 cd ${HUDI_REPO}/hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}
-$SHASUM hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}.src.tgz > got.sha512
+$SHASUM hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}.src.tgz > got.sha512 
 
 echo "Checking Checksum of Source Release"
-diff -u hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}.src.tgz.sha512 
got.sha512
-echo "Checksum Check of Source Release - [OK]"
+diff -u hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}.src.tgz.sha512 
got.sha512 
+echo -e "\t\tChecksum Check of Source Release - [OK]\n"
 
 # GPG Check
 echo "Checking Signature"
-gpg --import ../KEYS
-gpg --verify hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}.src.tgz.asc 
hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}.src.tgz 
-echo "Signature Check - [OK]"
+bash -c "gpg --import ../KEYS $REDIRECT"
+bash -c "gpg --verify 
hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}.src.tgz.asc 
hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}.src.tgz $REDIRECT"
+echo -e "\t\tSignature Check - [OK]\n"
 
 # Untar 
-tar -zxf hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}.src.tgz 
-pushd hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}
+bash -c "tar -zxf hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}.src.tgz 
$REDIRECT"
+cd hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}
 
 ### BEGIN: Binary Files Check
 echo "Checking for binary files in source release"
-numBinaryFiles=`find . -iname '*' | grep -v '.git' | xargs -I {} file -0 -I {} 
| grep -va directory | grep -va 'text/' | wc -l`
+numBinaryFiles=`find . -iname '*' | xargs -I {} file -I {} | grep -va 
directory | grep -va 'text/' | wc -l | sed -e s'/ //g'`
 
-if [ "$numBinaryFiles" > "0" ]; then
-  echo "There were non-text files in source release. Please check below\n"
-  find . -iname '*' | grep -v '.git' | xargs -I {} file -0 -I {} | grep -va 
directory | grep -va 'text/'
+if [ "$numBinaryFiles" -gt "0" ]; then
+  echo -e "There were non-text files in source release. Please check below\n"
+  find . -iname '*' | xargs -I {} file -I {} | grep -va directory | grep -va 
'text/'
   exit -1
 fi
-
-echo "Binary Files in Source Release Check - [OK]"
+echo -e "\t\tBinary Files in Source Release Check - [OK]\n"
 ### END: Binary Files Check
 
 ### Checking for DISCLAIMER
+echo "Checking for DISCLAIMER"
 disclaimerFile="./DISCLAIMER"
 if [ ! -f "$disclaimerFile" ]; then
   echo "DISCLAIMER file missing"
   exit -1
 fi
-echo "DISCLAIMER file exists ? [OK]"
+echo -e "\t\tDISCLAIMER file exists ? [OK]\n"
 
 ### Checking for LICENSE and NOTICE
+echo "Checking for LICENSE and NOTICE"
 licenseFile="./LICENSE"
 noticeFile="./NOTICE"
 if [ ! -f "$licenseFile" ]; then
   echo "License file missing"
   exit -1
 fi
-echo "License file exists ? [OK]"
+echo -e "\t\tLicense file exists ? [OK]"
 
 if [ ! -f "$noticeFile" ]; then
   echo "Notice file missing"
   exit -1
 fi
-echo "Notice file exists ? [OK]"
-
-### Checking for RAT
-echo "Running RAT Check Check"
-mvn rat:check
-echo "RAT Check Passed [OK]"
+echo -e "\t\tNotice file exists ? [OK]\n"
 
 ### Licensing Check
 echo "Performing custom Licensing Check "
-numfilesWithNoLicense=`find . -iname '*' | grep -v "\.git" | grep -v NOTICE | 
grep -v LICENSE | xargs grep -L "Licensed to the Apache Software Foundation 
(ASF)" | wc -l`
-if [ "$numfilesWithNoLicense" > "0" ]; then
+numfilesWithNoLicense=`find . -iname '*' -type f | grep -v NOTICE | grep -v 
LICENSE | grep -v '.json' | grep -v '.data' | grep -v DISCLAIMER | grep -v KEYS 
| grep -v '.mailmap' | grep -v '.sqltemplate' | xargs grep -L "Licensed to the 
Apache Software Foundation (ASF)" | wc -l`
+if [ "$numfilesWithNoLicense" -gt  "0" ]; then
   echo "There were some source files that did not have Apache License"
-  find . -iname '*' | grep -v "\.git" | grep -v NOTICE | grep -v LICENSE | 
xargs grep -L "Licensed to the Apache Software Foundation (ASF)"
+  find . -iname '*' -type f | grep -v NOTICE | grep -v LICENSE | grep -v 
'.json' | grep -v '.data' | grep -v DISCLAIMER | grep -v '.sqltemplate' | grep 
-v KEYS | grep -v '.mailmap' | xargs grep -L "Licensed to the Apache Software 
Foundation (ASF)"
   exit -1
 fi
-echo "Licensing Check Passed [OK]"
+echo -e "\t\tLicensing Check Passed [OK]\n"
+
+### Checking for RAT
+echo "Running RAT Check"
+bash -c "mvn apache-rat:check $REDIRECT"
+echo -e "\t\tRAT Check Passed [OK]\n"
+
 popd

Reply via email to