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

chengpan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kyuubi.git


The following commit(s) were added to refs/heads/master by this push:
     new 05cb5b411 [KYUUBI #6559] Various improvments for release scripts
05cb5b411 is described below

commit 05cb5b4112a1a445314482a668f9476f28262c48
Author: Cheng Pan <[email protected]>
AuthorDate: Tue Jul 23 21:15:52 2024 +0800

    [KYUUBI #6559] Various improvments for release scripts
    
    # :mag: Description
    
    This PR contains various improvement for Kyuubi release scripts:
    
    - update known_translations
    - improve `pre_gen_release_notes.py` to generate the copy-paste contributor 
list
    - update vote and announcement mail templates
    
    ## Types of changes :bookmark:
    
    - [ ] Bugfix (non-breaking change which fixes an issue)
    - [ ] New feature (non-breaking change which adds functionality)
    - [ ] Breaking change (fix or feature that would cause existing 
functionality to change)
    
    ## Test Plan 🧪
    
    Manually tested and self reviewed.
    
    ---
    
    # Checklist šŸ“
    
    - [x] This patch was not authored or co-authored using [Generative 
Tooling](https://www.apache.org/legal/generative-tooling.html)
    
    **Be nice. Be informative.**
    
    Closes #6559 from pan3793/rel-scripts.
    
    Closes #6559
    
    78aad0500 [Cheng Pan] Various improvments for release scripts
    
    Authored-by: Cheng Pan <[email protected]>
    Signed-off-by: Cheng Pan <[email protected]>
---
 build/release/known_translations               | 10 +++
 build/release/pre_gen_release_notes.py         | 48 ++++-----------
 build/release/script/announce.sh               | 38 +++++-------
 build/release/script/dev_kyuubi_vote.sh        | 84 +++++++++++++-------------
 build/release/tmpl/dev_kyuubi_cancel_vote.tmpl |  4 +-
 build/release/tmpl/dev_kyuubi_vote_result.tmpl |  2 +-
 6 files changed, 81 insertions(+), 105 deletions(-)

diff --git a/build/release/known_translations b/build/release/known_translations
index b998407b9..79180baec 100644
--- a/build/release/known_translations
+++ b/build/release/known_translations
@@ -19,8 +19,10 @@
 # The format expected on each line should be: <GitHub ID> - <Full Name>
 AngersZhuuuu - Yi Zhu
 ASiegeLion - Peiyue Liu
+bkyryliuk - Bogdan Kyryliuk
 bowenliang123 - Bowen Liang
 BruceWong96 - Bruce Wong
+camper42 - Fengyu Cao
 CavemanIV - Liang Zhang
 cxzl25 - Shaoyun Chen
 davidyuan1223 - David Yuan
@@ -42,16 +44,22 @@ lightning_L - Tianlin Liao
 liunaijie - Naijie Liu
 liuxiaocs7 - Xiao Liu
 lsm1 - Senmiao Liu
+jiaoqingbo - Qingbo Jiao
 junjiem - Junjie Ma
 mattshma - Ming Ma
 merrily01 - Ruilei Ma
 minyk - Drake Youngkun Min
 packyan - Deng An
 panbingkun - BingKun Pan
+dupen01 - Perl Du
 QianyongY - Yong Qian
+SteNicholas - Nicholas Jiang
+sudohainguyen - Harry
 thomasg19930417 - Xu Guo
 turboFei - Fei Wang
 ulysses-you - Xiduo You
+vinoyang - Vino Yang
+Wang, Fei - Fei Wang
 wangmiao1002 - Miao Wang
 waywtdcc - Chao Chen
 wForget - Zhen Wang
@@ -59,8 +67,10 @@ Xieming LI - Xieming Li
 XorSum - Baokun Han
 yabola - Chenliang Lu
 yanghua - Vino Yang
+yikf - Kaifei Yi
 Yikf - Kaifei Yi
 ymZhao1001 - Yangming Zhao
+Z1Wu - Ziyi Wu
 zhaohehuhu - He Zhao
 zhaomin1423 - Min Zhao
 zhouyifan279 - Yifan Zhou
diff --git a/build/release/pre_gen_release_notes.py 
b/build/release/pre_gen_release_notes.py
index ec2fcee4b..7b86028a0 100755
--- a/build/release/pre_gen_release_notes.py
+++ b/build/release/pre_gen_release_notes.py
@@ -176,19 +176,9 @@ known_translations_file.close()
 # Keep track of warnings to tell the user at the end
 warnings = []
 
-# Mapping from the invalid author name to its associated tickets
-# E.g. pan3793 -> set("[KYUUBI #1234]", "[KYUUBI #1235]")
-invalid_authors = {}
-
-# Populate a map that groups issues and components by author
-# It takes the form: Author Name -> set()
-# For instance,
-# {
-#   'Cheng Pan' -> set('[KYUUBI #1234]', '[KYUUBI #1235]'),
-#   'Fu Chen' -> set('[KYUUBI #2345]')
-# }
-#
-author_info = {}
+# The author name that needs to translate
+invalid_authors = set()
+authors = set()
 print("\n=========================== Compiling contributor list 
===========================")
 for commit in effective_commits:
     _hash = commit.get_hash()
@@ -204,21 +194,8 @@ for commit in effective_commits:
         # with all associated issues so we can translate it later
         author = capitalize_author(author)
     else:
-        if author not in invalid_authors:
-            invalid_authors[author] = set()
-        for issue in issues:
-            invalid_authors[author].add(issue)
-    # Populate or merge an issue into author_info[author]
-    def populate(issues):
-        if author not in author_info:
-            author_info[author] = set()
-        for issue in issues:
-            author_info[author].add(issue)
-    # Find issues associated with this commit
-    try:
-        populate(issues)
-    except Exception as e:
-        print("Unexpected error:", e)
+        invalid_authors.add(author)
+    authors.add(author)
     print("  Processed commit %s authored by %s on %s" % (_hash, author, date))
 
print("==================================================================================\n")
 
@@ -232,17 +209,14 @@ commits_file.close()
 print("Commits list is successfully written to %s!" % commits_file_name)
 
 # Write to contributors file ordered by author names
-# Each line takes the format " * Author Name -- tickets"
-# e.g. * Cheng Pan -- [KYUUBI #1234][KYUUBI #1235]
-# e.g. * Fu Chen   -- [KYUUBI #2345]
+# Each line takes the format " * Author Name"
+# e.g. * Cheng Pan
+# e.g. * Fu Chen
 contributors_file = open(os.path.join(release_dir, contributors_file_name), 
"w")
-authors = list(author_info.keys())
-authors.sort(key=lambda author: author.split(" ")[-1])
-author_max_len = max(len(author) for author in authors)
+sorted_authors = list(authors)
+sorted_authors.sort(key=lambda author: author.split(" ")[-1])
 for author in authors:
-    contribution = "".join(author_info[author])
-    line = ("* {:<%s}" % author_max_len).format(author) + " -- " + contribution
-    contributors_file.write(line + "\n")
+    contributors_file.write("* %s\n" % author)
 contributors_file.close()
 print("Contributors list is successfully written to %s!" % 
contributors_file_name)
 
diff --git a/build/release/script/announce.sh b/build/release/script/announce.sh
index 7d8fbaba0..3e3ca933e 100755
--- a/build/release/script/announce.sh
+++ b/build/release/script/announce.sh
@@ -24,53 +24,45 @@ RELEASE_DIR="$(cd "$(dirname "$0")"/..; pwd)"
 
 ######### Please modify the variables ##########
 # release version, e.g. 1.7.0
-release_version=${release_version:-""}
+RELEASE_VERSION=${RELEASE_VERSION:-""}
 ################################################
 
-if [[ -z $release_version ]]; then
-  echo "Please input release version"
+if [[ -z $RELEASE_VERSION ]]; then
+  echo "Please input release version, e.g. 1.7.0"
   exit 1
 fi
 
-echo "Release version: ${release_version}"
+echo "Release version: ${RELEASE_VERSION}"
 
 RELEASE_TEMP_DIR=${RELEASE_DIR}/tmp
 mkdir -p ${RELEASE_TEMP_DIR}
-ANNOUNCE=${RELEASE_TEMP_DIR}/${release_version}_announce.temp
+ANNOUNCE=${RELEASE_TEMP_DIR}/v${RELEASE_VERSION}_announce.temp
 
 cat >$ANNOUNCE<<EOF
-Title: [ANNOUNCE] Apache Kyuubi released ${release_version}
+Title: [ANNOUNCE] Apache Kyuubi v${RELEASE_VERSION} is available
 
 Content:
 Hi all,
 
 The Apache Kyuubi community is pleased to announce that
-Apache Kyuubi ${release_version} has been released!
+Apache Kyuubi v${RELEASE_VERSION} has been released!
 
-Apache Kyuubi is a distributed and multi-tenant gateway to provide
-serverless SQL on data warehouses and lakehouses.
+Apache Kyuubiā„¢ is a distributed and multi-tenant gateway to provide
+serverless SQL on Data Warehouses and Lakehouses.
 
-Kyuubi provides a pure SQL gateway through Thrift JDBC/ODBC interface
-for end-users to manipulate large-scale data with pre-programmed and
-extensible Spark SQL engines.
-
-We are aiming to make Kyuubi an "out-of-the-box" tool for data warehouses
-and lakehouses.
-
-This "out-of-the-box" model minimizes the barriers and costs for end-users
-to use Spark at the client side.
-
-At the server-side, Kyuubi server and engine's multi-tenant architecture
-provides the administrators a way to achieve computing resource isolation,
-data security, high availability, high client concurrency, etc.
+Kyuubi builds distributed SQL query engines on top of various kinds of
+modern computing frameworks, e.g., Apache Spark, Apache Flink, Apache
+Doris, Apache Hive, Trino, and StarRocks, etc., to query massive datasets
+distributed over fleets of machines from heterogeneous data sources.
 
 The full release notes and download links are available at:
-Release Notes: https://kyuubi.apache.org/release/${release_version}.html
+Release Notes: https://kyuubi.apache.org/release/${RELEASE_VERSION}.html
 
 To learn more about Apache Kyuubi, please see
 https://kyuubi.apache.org/
 
 Kyuubi Resources:
+- Documentation: https://kyuubi.readthedocs.io/en/v${RELEASE_VERSION}/
 - Issue: https://github.com/apache/kyuubi/issues
 - Mailing list: [email protected]
 
diff --git a/build/release/script/dev_kyuubi_vote.sh 
b/build/release/script/dev_kyuubi_vote.sh
index 5b2ef225d..0a43bfb9e 100755
--- a/build/release/script/dev_kyuubi_vote.sh
+++ b/build/release/script/dev_kyuubi_vote.sh
@@ -23,89 +23,89 @@ set -e
 RELEASE_DIR="$(cd "$(dirname "$0")"/..; pwd)"
 
 ######### Please modify the variables ##########
-# release version, e.g. v1.7.0
-release_version=${release_version:-""}
-# release candidate number, e.g. rc2
-release_rc_no=${release_rc_no:-""}
-# previous release candidate number, e.g. rc1, could be empty if it is the 
first vote
-prev_release_rc_no=${prev_release_rc_no:-""}
-# previous release version, e.g. v1.7.0, this is used to generate change log
-prev_release_version=${prev_release_version:-""}
+# release version, e.g. 1.7.1
+RELEASE_VERSION=${RELEASE_VERSION:-""}
+# release candidate number, e.g. 2
+RELEASE_RC_NO=${RELEASE_RC_NO:-""}
+# previous release candidate number, e.g. 1, could be empty if it is the first 
vote
+PREV_RELEASE_RC_NO=${PREV_RELEASE_RC_NO:-""}
+# previous release version, e.g. 1.7.0, this is used to generate change log
+PREV_RELEASE_VERSION=${PREV_RELEASE_VERSION:-""}
 # staging repository number, check it under 
https://repository.apache.org/content/repositories
-repo_no=${repo_no:-""}
+REPO_NO=${REPO_NO:-""}
 ################################################
 
-if [[ -z $release_version ]]; then
-  echo "Please input release version"
+if [[ -z $RELEASE_VERSION ]]; then
+  echo "Please input RELEASE_VERSION, e.g. 1.7.1"
   exit 1
 fi
-if [[ -z $release_rc_no ]]; then
-  echo "Please input release rc number"
+if [[ -z $RELEASE_RC_NO ]]; then
+  echo "Please input RELEASE_RC_NO, e.g. 2"
   exit 1
 fi
-if [[ -z $prev_release_version ]]; then
-  echo "Please input prev release version which is used to generate change log"
+if [[ -z $PREV_RELEASE_VERSION ]]; then
+  echo "Please input PREV_RELEASE_VERSION which is used to generate change 
log, e.g. 1.7.0"
   exit 1
 fi
-if [[ -z $repo_no ]]; then
+if [[ -z $REPO_NO ]]; then
   echo "Please input staging repository number, check it under 
https://repository.apache.org/content/repositories "
   exit 1
 fi
 
-release_rc_tag=${release_version}-${release_rc_no}
-git_commit_hash=$(git rev-list -n 1 $release_rc_tag)
-
-echo "Release version: ${release_version}"
-echo "Release candidate number: ${release_rc_no}"
-echo "Previous release candidate number: ${prev_release_rc_no}"
-echo "Staging repository number: ${repo_no}"
-echo "Release candidate tag: ${release_rc_tag}"
-echo "Release candidate tag commit hash: ${git_commit_hash}"
-
-if [[ ! -z "$prev_release_rc_no" ]]; then
-  prev_release_rc_tag=${release_version}-${prev_release_rc_no}
-  change_from_pre_commit="
-The commit list since the ${prev_release_rc_no}:
-https://github.com/apache/kyuubi/compare/${prev_release_rc_tag}...${release_rc_tag}
+RELEASE_RC_TAG=v${RELEASE_VERSION}-rc${RELEASE_RC_NO}
+GIT_COMMIT_HASH=$(git rev-list -n 1 $RELEASE_RC_TAG)
+
+echo "Release version: v${RELEASE_VERSION}"
+echo "Release candidate number: RC${RELEASE_RC_NO}"
+echo "Previous release candidate number: RC${PREV_RELEASE_RC_NO}"
+echo "Staging repository number: ${REPO_NO}"
+echo "Release candidate tag: ${RELEASE_RC_TAG}"
+echo "Release candidate tag commit hash: ${GIT_COMMIT_HASH}"
+
+if [[ ! -z "$PREV_RELEASE_RC_NO" ]]; then
+  PREV_RELEASE_RC_TAG=v${RELEASE_VERSION}-rc${PREV_RELEASE_RC_NO}
+  CHANGE_FROM_PRE_COMMIT="
+The commit list since the previous RC:
+https://github.com/apache/kyuubi/compare/${PREV_RELEASE_RC_TAG}...${RELEASE_RC_TAG}
 "
 fi
 
 RELEASE_TEMP_DIR=${RELEASE_DIR}/tmp
 mkdir -p ${RELEASE_TEMP_DIR}
-DEV_VOTE=${RELEASE_TEMP_DIR}/${release_rc_tag}_dev_vote.temp
+DEV_VOTE=${RELEASE_TEMP_DIR}/${RELEASE_RC_TAG}_dev_vote.temp
 
 cat >${DEV_VOTE}<<EOF
-Title: [VOTE] Release Apache Kyuubi ${release_version} ${release_rc_no}
+Title: [VOTE] Release Apache Kyuubi v${RELEASE_VERSION} RC${RELEASE_RC_NO}
 
 Content:
 Hello Apache Kyuubi PMC and Community,
 
 Please vote on releasing the following candidate as
-Apache Kyuubi version ${release_version}.
+Apache Kyuubi v${RELEASE_VERSION}.
 
 The VOTE will remain open for at least 72 hours.
 
-[ ] +1 Release this package as Apache Kyuubi ${release_version}
+[ ] +1 Release this package as Apache Kyuubi v${RELEASE_VERSION}
 [ ] +0
 [ ] -1 Do not release this package because ...
 
 To learn more about Apache Kyuubi, please see
 https://kyuubi.apache.org/
 
-The tag to be voted on is ${release_rc_tag} (commit ${git_commit_hash}):
-https://github.com/apache/kyuubi/tree/${release_rc_tag}
+The tag to be voted on is ${RELEASE_RC_TAG} (commit ${GIT_COMMIT_HASH}):
+https://github.com/apache/kyuubi/tree/${RELEASE_RC_TAG}
 
 The release files, including signatures, digests, etc. can be found at:
-https://dist.apache.org/repos/dist/dev/kyuubi/${release_rc_tag}/
+https://dist.apache.org/repos/dist/dev/kyuubi/${RELEASE_RC_TAG}/
 
 Signatures used for Kyuubi RCs can be found in this file:
 https://downloads.apache.org/kyuubi/KEYS
 
 The staging repository for this release can be found at:
-https://repository.apache.org/content/repositories/orgapachekyuubi-${repo_no}/
-${change_from_pre_commit}
-The release note is available in:
-https://github.com/apache/kyuubi/compare/${prev_release_version}...${release_rc_tag}
+https://repository.apache.org/content/repositories/orgapachekyuubi-${REPO_NO}/
+${CHANGE_FROM_PRE_COMMIT}
+The commit list since the latest released version:
+https://github.com/apache/kyuubi/compare/v${PREV_RELEASE_VERSION}...${RELEASE_RC_TAG}
 
 Thanks,
 On behalf of Apache Kyuubi community
diff --git a/build/release/tmpl/dev_kyuubi_cancel_vote.tmpl 
b/build/release/tmpl/dev_kyuubi_cancel_vote.tmpl
index 2e4add420..7b0a5ef38 100644
--- a/build/release/tmpl/dev_kyuubi_cancel_vote.tmpl
+++ b/build/release/tmpl/dev_kyuubi_cancel_vote.tmpl
@@ -15,12 +15,12 @@
 # limitations under the License.
 #
 
-Title: [CANCEL][VOTE] Release Apache Kyuubi {release_version} {release_rc_no}
+Title: [CANCEL][VOTE] Release Apache Kyuubi {RELEASE_VERSION} {RELEASE_RC_NO}
 
 Content:
 Hello Apache Kyuubi PMC and Community,
 
-We need to cancel the {release_rc_no} due to {issue_description}[1],
+We need to cancel the {RELEASE_RC_NO} due to {issue_description}[1],
 and thank everyone who helped vote.
 
 [1] https://github.com/apache/kyuubi/issues/{issue_number}
diff --git a/build/release/tmpl/dev_kyuubi_vote_result.tmpl 
b/build/release/tmpl/dev_kyuubi_vote_result.tmpl
index 82dfa52fc..102e16e06 100644
--- a/build/release/tmpl/dev_kyuubi_vote_result.tmpl
+++ b/build/release/tmpl/dev_kyuubi_vote_result.tmpl
@@ -15,7 +15,7 @@
 # limitations under the License.
 #
 
-Title: [RESULT][VOTE] Release Apache Kyuubi {release_version} {release_rc_no}
+Title: [RESULT][VOTE] Release Apache Kyuubi {RELEASE_VERSION} {RELEASE_RC_NO}
 
 Content:
 Hello Apache Kyuubi PMC and Community,

Reply via email to