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

xushiyan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hudi-rs.git


The following commit(s) were added to refs/heads/main by this push:
     new 6a995e2  chore: update release guide and issue templates (#282)
6a995e2 is described below

commit 6a995e2374d0869cc30d38344335d2f200f6e24e
Author: Shiyan Xu <[email protected]>
AuthorDate: Thu Jan 30 20:07:21 2025 -0600

    chore: update release guide and issue templates (#282)
    
    Update release guide, issue templates, codeowners, and cargo project crate 
description.
---
 .github/CODEOWNERS                                 |  18 +++
 .../ISSUE_TEMPLATE/{bug_report.yml => 1-bug.yml}   |   0
 .../{feature_request.yml => 2-feature-request.yml} |  20 +---
 Cargo.toml                                         |   2 +-
 release/README.md                                  | 131 ++++++++++++---------
 5 files changed, 103 insertions(+), 68 deletions(-)

diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 0000000..abcf568
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+* @xushiyan
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml 
b/.github/ISSUE_TEMPLATE/1-bug.yml
similarity index 100%
rename from .github/ISSUE_TEMPLATE/bug_report.yml
rename to .github/ISSUE_TEMPLATE/1-bug.yml
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml 
b/.github/ISSUE_TEMPLATE/2-feature-request.yml
similarity index 66%
rename from .github/ISSUE_TEMPLATE/feature_request.yml
rename to .github/ISSUE_TEMPLATE/2-feature-request.yml
index 60bcc6f..43d7d70 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.yml
+++ b/.github/ISSUE_TEMPLATE/2-feature-request.yml
@@ -17,30 +17,22 @@
 
 name: Feature request 🚀
 description: Suggest an idea to help us improve
-labels: ['feat']
+labels: ['feature']
 body:
   - type: markdown
     attributes:
       value: |
         Thanks for taking the time to fill out this feature request!
   - type: textarea
-    id: feat-description
+    id: feature-description
     attributes:
-      label: Description of the improvement
-      description: Tell us what improvement would you like to suggest
-    validations:
-      required: true
-  - type: textarea
-    id: expected-behavior
-    attributes:
-      label: Expected behavior
-      description: What should be the expected behavior.
-      placeholder: A clear and concise description of what you expected to 
happen.
+      label: Feature Description
+      description: Tell us how the feature would work
     validations:
       required: true
   - type: textarea
     id: additional-context
     attributes:
       label: Additional context
-      description: Do you want to share any additional context about this 
improvement?
-      placeholder: Add any other context about the improvement here.
+      description: Any additional context about this feature?
+      placeholder: Tell us any related context like production use cases.
diff --git a/Cargo.toml b/Cargo.toml
index 24e60e6..00f9429 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -29,7 +29,7 @@ license = "Apache-2.0"
 rust-version = "1.81"
 keywords = ["apachehudi", "hudi", "datalake", "arrow"]
 readme = "README.md"
-description = "A native Rust library for Apache Hudi"
+description = "The native Rust implementation for Apache Hudi"
 homepage = "https://github.com/apache/hudi-rs";
 repository = "https://github.com/apache/hudi-rs";
 
diff --git a/release/README.md b/release/README.md
index 4ddfb85..c11ade2 100644
--- a/release/README.md
+++ b/release/README.md
@@ -29,7 +29,7 @@ corresponding milestone for the release, and edit the issue 
description as below
 
 ### Issues
 
-- [ ] All remaining issues in the 
[milestone](https://github.com/apache/hudi-rs/milestone/1) should be closed.
+- [ ] All other issues in the [release 
milestone](https://github.com/apache/hudi-rs/milestone/1) should be closed.
 
 > [!IMPORTANT]
 > Highlight blocker issues if any
@@ -37,28 +37,56 @@ corresponding milestone for the release, and edit the issue 
description as below
 - [ ] https://github.com/apache/hudi-rs/issues/xxx
 - [ ] https://github.com/apache/hudi-rs/issues/xxx
 
-### GitHub
+### Prepare release candidate(s)
 
-- [ ] Bump version
-- [ ] Push release tag
-
-### ASF
-
-- [ ] Create an ASF release
-- [ ] Upload artifacts to the SVN dist repo
-- [ ] Start VOTE in dev email list
+- [ ] Create a release branch 
+- [ ] Bump the version in the release branch for the target RC
+- [ ] Bump the version in `main` branch
+- [ ] Upload the target RC artifacts to the ASF dev repo (SVN)
+- [ ] Verify the target RC artifacts
+- [ ] Push a desired RC release git tag to the release branch
+- [ ] Start VOTE in `[email protected]`
 
 > [!IMPORTANT]
 > Proceed from here only after VOTE passes.
 
 ### Official release
 
-- [ ] Push the release git tag
-- [ ] Publish artifacts to SVN RELEASE branch
-- [ ] Merge the PR to update the changelog
+- [ ] Bump the version in the release branch for the official release
+- [ ] Push the official release git tag to the release branch
+- [ ] Upload the release artifacts to the ASF release repo (SVN)
+- [ ] Merge a PR to update the changelog in `main` branch
+- [ ] Publish release notes in https://github.com/apache/hudi-rs/releases
+- [ ] Register ASF release in https://reporter.apache.org/addrelease.html?hudi
 - [ ] Send `ANNOUNCE` email to dev and user email lists
+- [ ] Close this tracking issue and the release milestone
 ```
 
+## ASF work
+
+### Upload source release to SVN dev
+
+> [!NOTE]
+> Make sure you're using a computer that has your code-signing gpg key 
installed.
+
+Run the below script to create and upload the source release artifacts.
+
+```shell
+RELEASE_VER=0.1.0-rc.1
+
+./release/upload_src_release_to_dev.sh $RELEASE_VER ${YOUR CODE-SIGNING KEY ID}
+```
+
+Run the below script to verify the source release.
+
+```shell
+RELEASE_VER=0.1.0-rc.1
+
+./release/verify_src_release.sh $RELEASE_VER dev
+```
+
+Fix any issues if found before proceeding to the next step.
+
 ## GitHub work
 
 > [!NOTE]
@@ -74,6 +102,9 @@ Execute the below script that creates a branch with the new 
version changes comm
 
 ### Bump version in release branch
 
+> [!NOTE]
+> When working on a release branch, use a local clone of `apache/hudi-rs` 
instead of your own fork.
+
 For a major or minor release, create a release branch in the format of 
`release/[0-9]+.[0-9]+.x` matching the target
 release version. For example, if it's `0.2.0`, cut a branch named 
`release/0.2.x`, if it's `1.0.0`, cut a branch
 named `release/1.0.x`.
@@ -91,10 +122,18 @@ On the release branch, bump the version to indicate 
pre-release by pushing a com
 - If it is ready for voting, go with `rc.1`, `rc.2`, etc
 
 ```shell
-cargo set-version 0.2.0-rc.1 --manifest-path crates/hudi/Cargo.toml
-git commit -am "build(release): bump version to 0.2.0-rc.1"
+RELEASE_VER=0.2.0-rc.1
+
+cargo set-version $RELEASE_VER --manifest-path crates/hudi/Cargo.toml
+git commit -am "build(release): bump version to $RELEASE_VER"
 ```
 
+### Testing
+
+Once the "bump version" commit is pushed, CI will be triggered and all tests 
need to pass before proceed to the next.
+
+Perform any release related tests, such as integration tests, before 
proceeding to the next step.
+
 ### Generate changelog
 
 We use [cliff](https://git-cliff.org/) to generate changelogs. Install it by 
running the below command.
@@ -117,12 +156,6 @@ git cliff release-{previous_release_version}..HEAD | xclip
 
 Paste the changelog output as a comment on the tracking issue.
 
-### Testing
-
-Once the "bump version" commit is pushed, CI will be triggered and all tests 
need to pass before proceed to the next.
-
-Perform any release related tests, such as integration tests, before 
proceeding to the next step.
-
 ### Push tag
 
 > [!IMPORTANT]
@@ -138,29 +171,13 @@ Push a tag to the commit that matches to the version in 
the form of `release-*`.
 > pypi.org, which, if successful, is irreversible. Same versions are not 
 > allowed to publish more than once.
 
 ```shell
-git tag release-0.1.0-rc.1
-git push origin release-0.1.0-rc.1
-```
-
-Once the CI completes, check crates.io and pypi.org for the new release 
artifacts.
-
-## ASF work
-
-### Upload source release to SVN dev
+RELEASE_VER=0.1.0-rc.1
 
-Run the below script to create and upload the source release artifacts.
-
-```shell
-./release/upload_src_release_to_dev.sh
-```
-
-Run the below script to verify the source release.
-
-```shell
-./release/verify_src_release.sh 0.1.0-rc.1 dev
+git tag release-$RELEASE_VER
+git push origin release-$RELEASE_VER
 ```
 
-Fix any issues if found before proceeding to the next step.
+Once the CI completes, check crates.io and pypi.org for the new release 
artifacts.
 
 ### Start a `[VOTE]` thread
 
@@ -208,8 +225,10 @@ Release Manager
 Remove the pre-release suffix from the version in the release branch.
 
 ```shell
-cargo set-version 0.2.0 --manifest-path crates/hudi/Cargo.toml
-git commit -am "build(release): bump version to 0.2.0"
+RELEASE_VER=0.2.0
+
+cargo set-version $RELEASE_VER --manifest-path crates/hudi/Cargo.toml
+git commit -am "build(release): bump version to $RELEASE_VER"
 ```
 
 Wait for the CI to pass before proceeding to the next step.
@@ -219,13 +238,17 @@ Wait for the CI to pass before proceeding to the next 
step.
 Run the below script to create and upload the source release artifacts.
 
 ```shell
-./release/publish_src_release.sh
+RELEASE_VER=0.2.0
+
+./release/publish_src_release.sh $RELEASE_VER ${YOUR CODE-SIGNING KEY ID}
 ```
 
 Run the below script to verify the source release.
 
 ```shell
-./release/verify_src_release.sh 0.2.0 release
+RELEASE_VER=0.2.0
+
+./release/verify_src_release.sh $RELEASE_VER release
 ```
 
 There shouldn't be any issue in verifying the source release at this step. But 
if any error came out from it, 
@@ -238,8 +261,10 @@ revert the last version bump commit, fix the reported 
error, and start a new rel
 > pypi.org, which, if successful, is irreversible. Same versions are not 
 > allowed to publish more than once.
 
 ```shell
-git tag release-0.2.0
-git push origin release-0.2.0
+RELEASE_VER=0.2.0
+
+git tag release-$RELEASE_VER
+git push origin release-$RELEASE_VER
 ```
 
 Once the CI completes, check crates.io and pypi.org for the new release 
artifacts.
@@ -253,23 +278,23 @@ Close the tracking issue.
 ### Send `ANNOUNCE` email
 
 ```text
-subject: [ANNOUNCE] hudi-rs 0.1.0 released
+subject: [ANNOUNCE] hudi-rs ${RELEASE_VER} released
 
 Hi all,
 
-The Apache Hudi community is pleased to announce the release 0.1.0 of
-hudi-rs <https://github.com/apache/hudi-rs>, a native Rust library for
-Apache Hudi, with bindings into Python.
+The Apache Hudi community is pleased to announce the release ${RELEASE_VER} of
+hudi-rs <https://github.com/apache/hudi-rs>, the native Rust implementation for
+Apache Hudi, with Python API bindings.
 
 Highlights for this release:
 
 <insert highlights here based on the changelog>
 
 The release notes can be found here
-https://github.com/apache/hudi-rs/releases/tag/release-0.1.0
+https://github.com/apache/hudi-rs/releases/tag/release-${RELEASE_VER}
 
 The source releases are available here
-https://dist.apache.org/repos/dist/release/hudi/hudi-rs-0.1.0/
+https://dist.apache.org/repos/dist/release/hudi/hudi-rs-${RELEASE_VER}/
 
 Please refer to the readme for installation and usage examples
 https://github.com/apache/hudi-rs/blob/main/README.md

Reply via email to