yuzhaojing commented on code in PR #7212:
URL: https://github.com/apache/hudi/pull/7212#discussion_r1028042821


##########
release/release_guide.md:
##########
@@ -0,0 +1,678 @@
+<!--
+  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.
+-->
+
+# Introduction
+
+This release process document is based on [Apache Beam Release 
Guide](https://beam.apache.org/contribute/release-guide/)
+and [Apache Flink Release 
Guide](https://cwiki.apache.org/confluence/display/FLINK/Creating+a+Flink+Release).
+
+The Apache Hudi project periodically declares and publishes releases. A 
release is one or more packages of the project
+artifact(s) that are approved for general public distribution and use. They 
may come with various degrees of caveat
+regarding their perceived quality and potential for change, such as “alpha”, 
“beta”, “stable”, etc.
+
+Hudi community treats releases with great importance. They are a public face 
of the project and most users interact with
+the project only through the releases. Releases are signed off by the entire 
Hudi community in a public vote.
+
+Each release is executed by a Release Manager, who is selected among the Hudi 
PMC members. This document describes the
+process that the Release Manager follows to perform a release. Any changes to 
this process should be discussed and
+adopted on the dev@ mailing list.
+
+Please remember that publishing software has legal consequences. This guide 
complements the
+foundation-wide [Product Release 
Policy](http://www.apache.org/dev/release.html)
+and [Release Distribution 
Policy](http://www.apache.org/dev/release-distribution).
+
+# Overview
+
+![](release_guide_overview.jpg)
+
+The release process consists of several steps:
+
+1. Decide to release
+2. Prepare for the release
+3. Build a release candidate
+4. Vote on the release candidate
+5. During vote process, run validation tests
+6. If necessary, fix any issues and go back to step 3.
+7. Finalize the release
+8. Promote the release
+
+# Decide to release
+
+Deciding to release and selecting a Release Manager is the first step of the 
release process. This is a consensus-based
+decision of the entire community.
+
+Anybody can propose a release on the dev@ mailing list, giving a solid 
argument and nominating a committer as the
+Release Manager (including themselves). There’s no formal process, no vote 
requirements, and no timing requirements. Any
+objections should be resolved by consensus before starting the release.
+
+In general, the community prefers to have a rotating set of 3-5 Release 
Managers. Keeping a small core set of managers
+allows enough people to build expertise in this area and improve processes 
over time, without Release Managers needing
+to re-learn the processes for each release. That said, if you are a committer 
interested in serving the community in
+this way, please reach out to the community on the dev@ mailing list.
+
+## Checklist to proceed to the next step
+
+1. Community agrees to release
+2. Community selects a Release Manager
+
+# Prepare for the release
+
+As a release manager, you should create a private Slack channel, named 
`hudi-<version>_release_work` (e.g.
+hudi-0_12_0_release_work) in Apache Hudi Slack for coordination. Invite all 
committers to the channel.
+
+Before your first release, you should perform one-time configuration steps. 
This will set up your security keys for
+signing the release and access to various release repositories.
+
+To prepare for each release, you should audit the project status in the JIRA 
issue tracker, and do the necessary
+bookkeeping. Finally, you should create a release branch from which individual 
release candidates will be built.
+
+**NOTE**: If you are
+using [GitHub two-factor 
authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/)
+and haven’t configure HTTPS access, please
+follow [the 
guide](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)
 to configure
+command line access.
+
+## One-time Setup Instructions
+
+You need to have a GPG key to sign the release artifacts. Please be aware of 
the
+ASF-wide [release signing 
guidelines](https://www.apache.org/dev/release-signing.html). If you don’t have 
a GPG key
+associated with your Apache account, please follow the section below.
+
+### For Linux users
+
+There are 2 ways to configure your GPG key for release, either using release 
automation script(which is recommended), or
+running all commands manually. If using Mac, please see below to handle known 
issues.
+
+#### Use preparation_before_release.sh to setup GPG
+
+- Script: preparation_before_release.sh
+- Usage ./hudi/scripts/release/preparation_before_release.sh
+- Tasks included
+    1. Help you create a new GPG key if you want.
+    2. Configure git user.signingkey with chosen pubkey.
+    3. Add chosen pubkey into dev KEYS and release KEYS **NOTES**: Only PMC 
can write into release repo.
+    4. Start GPG agents.
+
+#### Run all commands manually
+
+- Get more entropy for creating a GPG key
+    - sudo apt-get install rng-tools
+    - sudo rngd -r /dev/urandom
+- Create a GPG key
+    - gpg --full-generate-key
+- Determine your Apache GPG Key and Key ID, as follows:
+    - gpg --list-keys
+- This will list your GPG keys. One of these should reflect your Apache 
account, for example:
+  ```
+  --------------------------------------------------
+  pub   2048R/935D191 2019-08-29
+  uid   Anonymous Anonymous <[email protected]>
+  sub   2048R/CD4C59FD 2019-08-29
+  ```
+  Here, the key ID is the 8-digit hex string in the pub line: 845E6689 or more 
than 8-digit hex string like
+  623E08E06DB376684FB9599A3F5953147903948A. Now, add your Apache GPG key to 
the Hudi’s KEYS file both
+  in [dev](https://dist.apache.org/repos/dist/dev/hudi/KEYS)
+  and [release](https://dist.apache.org/repos/dist/release/hudi/KEYS) 
repositories
+  at [dist.apache.org](http://dist.apache.org/). Follow the instructions 
listed at the top of these files. (**Note**:
+  Only PMC members have write access to the release repository. If you end up 
getting 403 errors ask on the mailing list
+  for assistance.)
+- Configure git to use this key when signing code by giving it your key ID, as 
follows:
+  - git config --global user.signingkey CD4C59FD, or git config --global 
user.signingkey
+    623E08E06DB376684FB9599A3F5953147903948A

Review Comment:
   fixed.



##########
release/release_guide.md:
##########
@@ -0,0 +1,678 @@
+<!--
+  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.
+-->
+
+# Introduction
+
+This release process document is based on [Apache Beam Release 
Guide](https://beam.apache.org/contribute/release-guide/)

Review Comment:
   fixed.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to