1
0

[HUDI-1056] Fix release validate script for rc_num and release_type (#2025)

This commit is contained in:
Sivabalan Narayanan
2020-08-26 12:26:33 -04:00
committed by GitHub
parent dedc4517dd
commit 3a578d7402

View File

@@ -30,11 +30,12 @@ if [[ `basename $CURR_DIR` != "scripts" ]] ; then
fi fi
REDIRECT=' > /dev/null 2>&1' REDIRECT=' > /dev/null 2>&1'
if [[ $# -lt 2 ]]; then if [[ $# -lt 1 ]]; then
echo "This script will validate source release candidate published in dist for apache hudi" echo "This script will validate source release candidate published in dist for apache hudi"
echo "There are two params required:" echo "You can set 3 args to this script: release version is mandatory, while rest two are optional. Default release_type is \"dev\". Or you can set to \"release\""
echo "--release=\${CURRENT_RELEASE_VERSION}" echo "--release=\${CURRENT_RELEASE_VERSION}"
echo "--rc_num=\${RC_NUM}" echo "--rc_num=\${RC_NUM}"
echo "--release_type=release"
exit exit
else else
for param in "$@" for param in "$@"
@@ -44,7 +45,10 @@ else
fi fi
if [[ $param =~ --rc_num\=([0-9]*) ]]; then if [[ $param =~ --rc_num\=([0-9]*) ]]; then
RC_NUM=${BASH_REMATCH[1]} RC_NUM=${BASH_REMATCH[1]}
fi fi
if [[ $param =~ --release_type\="release" ]]; then
RELEASE_TYPE="release"
fi
if [[ $param =~ --verbose ]]; then if [[ $param =~ --verbose ]]; then
REDIRECT="" REDIRECT=""
fi fi
@@ -57,6 +61,13 @@ else
SHASUM="sha512sum" SHASUM="sha512sum"
fi fi
if [ -z ${RC_NUM+x} ]; then
RC_NUM=-1
fi
if [ -z ${RELEASE_TYPE+x} ]; then
RELEASE_TYPE=dev
fi
# Get to a scratch dir # Get to a scratch dir
RELEASE_TOOL_DIR=`pwd` RELEASE_TOOL_DIR=`pwd`
@@ -68,20 +79,31 @@ pushd $WORK_DIR
# Checkout dist repo # Checkout dist repo
LOCAL_SVN_DIR=local_svn_dir LOCAL_SVN_DIR=local_svn_dir
ROOT_SVN_URL=https://dist.apache.org/repos/dist/ ROOT_SVN_URL=https://dist.apache.org/repos/dist/
DEV_REPO=dev REPO_TYPE=${RELEASE_TYPE}
#RELEASE_REPO=release #RELEASE_REPO=release
HUDI_REPO=hudi HUDI_REPO=hudi
if [ $RC_NUM == -1 ]; then
ARTIFACT_SUFFIX=${RELEASE_VERSION}
else
ARTIFACT_SUFFIX=${RELEASE_VERSION}-rc${RC_NUM}
fi
rm -rf $LOCAL_SVN_DIR rm -rf $LOCAL_SVN_DIR
mkdir $LOCAL_SVN_DIR mkdir $LOCAL_SVN_DIR
cd $LOCAL_SVN_DIR cd $LOCAL_SVN_DIR
(bash -c "svn co ${ROOT_SVN_URL}/${DEV_REPO}/${HUDI_REPO} $REDIRECT") || (echo -e "\t\t Unable to checkout ${ROOT_SVN_URL}/${DEV_REPO}/${HUDI_REPO} . Please run with --verbose to get details\n" && exit -1)
cd ${HUDI_REPO}/hudi-${RELEASE_VERSION}-rc${RC_NUM} echo "Downloading from svn co ${ROOT_SVN_URL}/${REPO_TYPE}/${HUDI_REPO}"
$SHASUM hudi-${RELEASE_VERSION}-rc${RC_NUM}.src.tgz > got.sha512
(bash -c "svn co ${ROOT_SVN_URL}/${REPO_TYPE}/${HUDI_REPO} $REDIRECT") || (echo -e "\t\t Unable to checkout ${ROOT_SVN_URL}/${REPO_TYPE}/${HUDI_REPO} to $REDIRECT. Please run with --verbose to get details\n" && exit -1)
echo "Validating hudi-${ARTIFACT_SUFFIX} with release type \"${REPO_TYPE}\""
cd ${HUDI_REPO}/hudi-${ARTIFACT_SUFFIX}
$SHASUM hudi-${ARTIFACT_SUFFIX}.src.tgz > got.sha512
echo "Checking Checksum of Source Release" echo "Checking Checksum of Source Release"
diff -u hudi-${RELEASE_VERSION}-rc${RC_NUM}.src.tgz.sha512 got.sha512 diff -u hudi-${ARTIFACT_SUFFIX}.src.tgz.sha512 got.sha512
echo -e "\t\tChecksum Check of Source Release - [OK]\n" echo -e "\t\tChecksum Check of Source Release - [OK]\n"
# Download KEYS file # Download KEYS file
@@ -89,11 +111,11 @@ curl https://dist.apache.org/repos/dist/release/hudi/KEYS > ../KEYS
# GPG Check # GPG Check
echo "Checking Signature" echo "Checking Signature"
(bash -c "gpg --import ../KEYS $REDIRECT" && bash -c "gpg --verify hudi-${RELEASE_VERSION}-rc${RC_NUM}.src.tgz.asc hudi-${RELEASE_VERSION}-rc${RC_NUM}.src.tgz $REDIRECT" && echo -e "\t\tSignature Check - [OK]\n") || (echo -e "\t\tSignature Check - [FAILED] - Run with --verbose to get details\n" && exit -1) (bash -c "gpg --import ../KEYS $REDIRECT" && bash -c "gpg --verify hudi-${ARTIFACT_SUFFIX}.src.tgz.asc hudi-${ARTIFACT_SUFFIX}.src.tgz $REDIRECT" && echo -e "\t\tSignature Check - [OK]\n") || (echo -e "\t\tSignature Check - [FAILED] - Run with --verbose to get details\n" && exit -1)
# Untar # Untar
(bash -c "tar -zxf hudi-${RELEASE_VERSION}-rc${RC_NUM}.src.tgz $REDIRECT") || (echo -e "\t\t Unable to untar hudi-${RELEASE_VERSION}-rc${RC_NUM}.src.tgz . Please run with --verbose to get details\n" && exit -1) (bash -c "tar -zxf hudi-${ARTIFACT_SUFFIX}.src.tgz $REDIRECT") || (echo -e "\t\t Unable to untar hudi-${ARTIFACT_SUFFIX}.src.tgz . Please run with --verbose to get details\n" && exit -1)
cd hudi-${RELEASE_VERSION}-rc${RC_NUM} cd hudi-${ARTIFACT_SUFFIX}
### BEGIN: Binary Files Check ### BEGIN: Binary Files Check
echo "Checking for binary files in source release" echo "Checking for binary files in source release"
@@ -134,7 +156,7 @@ echo -e "\t\tNotice file exists ? [OK]\n"
### Licensing Check ### Licensing Check
echo "Performing custom Licensing Check " echo "Performing custom Licensing Check "
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' | grep -v 'ObjectSizeCalculator.java' | grep -v 'AvroConversionHelper.scala' | xargs grep -L "Licensed to the Apache Software Foundation (ASF)" | wc -l` numfilesWithNoLicense=`find . -iname '*' -type f | grep -v NOTICE | grep -v LICENSE | grep -v '.json' | grep -v '.data'|grep -v '.commit' | grep -v DISCLAIMER | grep -v KEYS | grep -v '.mailmap' | grep -v '.sqltemplate' | grep -v 'ObjectSizeCalculator.java' | grep -v 'AvroConversionHelper.scala' | xargs grep -L "Licensed to the Apache Software Foundation (ASF)" | wc -l`
if [ "$numfilesWithNoLicense" -gt "0" ]; then if [ "$numfilesWithNoLicense" -gt "0" ]; then
echo "There were some source files that did not have Apache License" echo "There were some source files that did not have Apache License"
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' | grep -v 'ObjectSizeCalculator.java' | grep -v 'AvroConversionHelper.scala' | 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' | grep -v 'ObjectSizeCalculator.java' | grep -v 'AvroConversionHelper.scala' | xargs grep -L "Licensed to the Apache Software Foundation (ASF)"