This is an automated email from the ASF dual-hosted git repository. linkinstar pushed a commit to branch docs/release in repository https://gitbox.apache.org/repos/asf/answer-website.git
commit c37685774e6ba289606843f414a8252b26c71184 Author: LinkinStars <[email protected]> AuthorDate: Mon Jan 13 11:10:02 2025 +0800 docs(release): update release process --- community/contributing/how-to-release.md | 107 +++++---------------- .../current/contributing/how-to-release.md | 69 +++++++------ 2 files changed, 58 insertions(+), 118 deletions(-) diff --git a/community/contributing/how-to-release.md b/community/contributing/how-to-release.md index aefd87469..3ef2f1473 100644 --- a/community/contributing/how-to-release.md +++ b/community/contributing/how-to-release.md @@ -33,7 +33,7 @@ $ gpg --keyid-format SHORT --list-keys $ gpg --keyserver keyserver.ubuntu.com --send-key xxx # append the GPG key to the KEYS file the svn repository -$ svn co https://dist.apache.org/repos/dist/release/incubator/answer/ +$ svn co https://dist.apache.org/repos/dist/release/answer/ $ (gpg --list-sigs [email protected] && gpg --export --armor [email protected]) >> KEYS $ svn ci -m "add gpg key" ``` @@ -80,25 +80,25 @@ $ for i in *.tar.gz; do echo $i; sha512sum $i > $i.sha512 ; done ``` ### Upload to the svn repository -> **NOTICE** The repository address where the GPG key is created and the prepository address where the release artifacts are uploaded are not the same. The GPG key is uploaded to the `https://dist.apache.org/repos/dist/release/incubator/answer/` repository, and the release artifacts are uploaded to the `https://dist.apache.org/repos/dist/dev/incubator/answer/` repository. +> **NOTICE** The repository address where the GPG key is created and the prepository address where the release artifacts are uploaded are not the same. The GPG key is uploaded to the `https://dist.apache.org/repos/dist/release/answer/` repository, and the release artifacts are uploaded to the `https://dist.apache.org/repos/dist/dev/answer/` repository. 1. Create a directory for the release artifacts in the svn repository. ```shell - $ svn co https://dist.apache.org/repos/dist/dev/incubator/answer/ + $ svn co https://dist.apache.org/repos/dist/dev/answer/ ``` 2. Upload the release artifacts to the svn repository. ```shell $ cp /path/to/release/artifacts/* ./{release-version}/ $ svn add ./{release-version}/* ``` -3. release-version format: 1.2.0-incubating +3. release-version format: 1.2.0 ```shell $ svn commit -m "add Apache Answer release artifacts for {release-version}" ``` -The release artifacts should be uploaded to the `https://dist.apache.org/repos/dist/dev/incubator/answer/{release-version}` directory. +The release artifacts should be uploaded to the `https://dist.apache.org/repos/dist/dev/answer/{release-version}` directory. -**IMPORTANT** After completion, visit the link `https://dist.apache.org/repos/dist/dev/incubator/answer/{release-version}` to check whether the file upload is correct. +**IMPORTANT** After completion, visit the link `https://dist.apache.org/repos/dist/dev/answer/{release-version}` to check whether the file upload is correct.  @@ -118,7 +118,7 @@ Following is the basic check items for the release artifacts. ```shell # download KEYS -$ curl https://downloads.apache.org/incubator/answer/KEYS > KEYS +$ curl https://downloads.apache.org/answer/KEYS > KEYS # import KEYS and trust the key, please replace the email address with the one you want to trust. $ gpg --import KEYS @@ -146,22 +146,23 @@ $ for i in *.tar.gz; do echo $i; sha512sum --check $i.sha512; done ## Start a vote -1. First, send a vote email to [email protected]. This vote requires at least **3 +1s from Apache Answer PPMC members**. -2. After the dev list vote passes, send a vote email to [email protected]. This vote requires at least **3 +1 binding votes from IPMC members**. -3. Wait for at **least 72 hours** or until the necessary number of votes are reached. -4. Announce the result of the vote on the respective mailing list. +> Apache Answer has graduated from incubation and only needs to be voted by the community + +1. The Apache Answer community votes, send a voting email to `[email protected]`. PMC needs to check the correctness of the version according to the document before voting. +2. After at least 72 hours and counting 3 +1 PMC member votes, you can enter the next stage. +3. Announce the voting result, and send the voting result email to `[email protected]`. ### Dev Mailing List Vote Template ``` -[VOTE] Release Apache Answer (Incubating) {release-version} +[VOTE] Release Apache Answer {release-version} -Hello, +Hello Apache Answer Community, - This is a call for vote to release Apache Answer(Incubating) version {release-version}. + This is a call for vote to release Apache Answer version {release-version}. The release candidates: - https://dist.apache.org/repos/dist/dev/incubator/answer/{release-version} + https://dist.apache.org/repos/dist/dev/answer/{release-version} Release notes: https://github.com/apache/answer/releases/tag/{release-version} @@ -173,11 +174,11 @@ Hello, https://github.com/apache/answer/commit/{commit-hash} Keys to verify the Release Candidate: - https://downloads.apache.org/incubator/answer/KEYS + https://downloads.apache.org/answer/KEYS Keys to verify the Release Candidate: The artifacts signed with PGP key [{key-id}], corresponding to [{email}], that can be found in keys file: - https://dist.apache.org/repos/dist/release/incubator/answer/KEYS + https://dist.apache.org/repos/dist/release/answer/KEYS The vote will be open for at least 72 hours or until the necessary number of votes are reached. @@ -204,73 +205,15 @@ Thanks, <YOUR NAME> ``` -### General Incubator Vote Template - -``` -[VOTE] Release Apache Answer (Incubating) {release-version} - -Hello, - - This is a call for vote to release Apache Answer(Incubating) version {release-version}. - - The vote thread: - https://lists.apache.org/thread/{thread-id} - - Vote Result: - https://lists.apache.org/thread/{result-thread-id} - - The release candidates: - https://dist.apache.org/repos/dist/dev/incubator/answer/{release-version}/ - - Release notes: - https://github.com/apache/answer/releases/tag/{release-version} - - Git tag for the release: - https://github.com/apache/answer/releases/tag/{release-version} - - Git commit id for the release: - https://github.com/apache/answer/commit/{commit-hash} - - Keys to verify the Release Candidate: - The artifacts signed with PGP key [{key-id}], corresponding to - [{email}], that can be found in keys file: - https://downloads.apache.org/incubator/answer/KEYS - - The vote will be open for at least 72 hours or until the necessary - number of votes are reached. - - Please vote accordingly: - - [ ] +1 approve - [ ] +0 no opinion - [ ] -1 disapprove with the reason - - Checklist for reference: - [ ] Download links are valid. - [ ] Checksums and PGP signatures are valid. - [ ] Source code distributions have correct names matching the current - release. - [ ] LICENSE and NOTICE files are correct for each Answer repo. - [ ] All files have license headers if necessary. - [ ] No unlicensed compiled archives bundled in source archive. - - To compile from the source, please refer to: - - https://github.com/apache/answer#building-from-source - -Thanks, -<YOUR NAME> -``` - ## Voting Timeout Situation If the vote has been pending for more than 72 hours without reaching the required number of votes, you can send the following reminder email to [email protected]: ``` -Dear IPMC Members, +Dear PMC Members, Apache Answer version {release-version} has been pending for voting for more -than 72 hours. If any IPMC member is available, please help us get the +than 72 hours. If any PMC member is available, please help us get the ballot completed. Currently, we are still missing +1 binding vote to finalize the process. @@ -284,10 +227,10 @@ If there is still no response after the reminder to the dev mailing list, you sh ## Migration candidate to the release Apache SVN -Before announcing the vote result, you need to migrate the release artifacts from the dev Apache SVN to the release Apache SVN. The release artifacts should be uploaded to the `https://dist.apache.org/repos/dist/release/incubator/answer/{release-version}` directory. +Before announcing the vote result, you need to migrate the release artifacts from the dev Apache SVN to the release Apache SVN. The release artifacts should be uploaded to the `https://dist.apache.org/repos/dist/release/answer/{release-version}` directory. ```shell -$ svn mv https://dist.apache.org/repos/dist/dev/incubator/answer/{release-version} https://dist.apache.org/repos/dist/release/incubator/answer/{release-version} -m "transfer packages for answer {release-version}" +$ svn mv https://dist.apache.org/repos/dist/dev/answer/{release-version} https://dist.apache.org/repos/dist/release/answer/{release-version} -m "transfer packages for answer {release-version}" ``` ## Create a release @@ -306,19 +249,19 @@ Update the download page with the new release version. The download page is loca ## Announce the vote result and release. -After the vote is passed, send an email to the an [email protected] and cc [email protected]、[email protected] to announce the vote result and release. +After the vote is passed, send an email to the an [email protected] and cc [email protected] to announce the vote result and release. ### email template ```text Hello everyone, -The Apache Answer (Incubating) {release-version} has been released! +The Apache Answer {release-version} has been released! Apache Answer is a Q&A platform software for teams at any scale. Whether it's a community forum, help center, or knowledge management platform, you can always count on Apache Answer. -Download Links: https://downloads.apache.org/incubator/answer/ +Download Links: https://downloads.apache.org/answer/ Release Notes: https://github.com/apache/answer/releases/tag/{release-version} diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs-community/current/contributing/how-to-release.md b/i18n/zh-CN/docusaurus-plugin-content-docs-community/current/contributing/how-to-release.md index 66c3ad6e8..27a4920a9 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs-community/current/contributing/how-to-release.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs-community/current/contributing/how-to-release.md @@ -29,7 +29,7 @@ $ gpg --keyid-format SHORT --list-keys $ gpg --keyserver keyserver.ubuntu.com --send-key xxx # 将 GPG 密钥附加到 svn 仓库中的 KEYS 文件 -$ svn co https://dist.apache.org/repos/dist/release/incubator/answer/ +$ svn co https://dist.apache.org/repos/dist/release/answer/ $ (gpg --list-sigs [email protected] && gpg --export --armor [email protected]) >> KEYS $ svn ci -m "add gpg key" ``` @@ -60,24 +60,24 @@ $ for i in *.tar.gz; do echo $i; sha512sum $i > $i.sha512 ; done ``` ### 上传到 svn 仓库 -> **注意** 创建 GPG 密钥的仓库地址和上传发布物料的仓库地址不同。GPG 密钥上传到 `https://dist.apache.org/repos/dist/release/incubator/answer/` 仓库,而发布物料上传到 `https://dist.apache.org/repos/dist/dev/incubator/answer/` 仓库。 +> **注意** 创建 GPG 密钥的仓库地址和上传发布物料的仓库地址不同。GPG 密钥上传到 `https://dist.apache.org/repos/dist/release/answer/` 仓库,而发布物料上传到 `https://dist.apache.org/repos/dist/dev/answer/` 仓库。 1. 在 svn 仓库中为发布物料创建一个目录。 ```shell - $ svn co https://dist.apache.org/repos/dist/dev/incubator/answer/ + $ svn co https://dist.apache.org/repos/dist/dev/answer/ ``` 2. 将发布物料上传到 svn 仓库。 ```shell $ cp /path/to/release/artifacts/* ./{release-version}/ $ svn add ./{release-version}/* ``` -3. release-version 格式: 1.3.1-incubating +3. release-version 格式: 1.3.1 ```shell $ svn commit -m "add Apache Answer release artifacts for {release-version}" ``` -发布物料应上传到 `https://dist.apache.org/repos/dist/dev/incubator/answer/{release-version}` 目录。 +发布物料应上传到 `https://dist.apache.org/repos/dist/dev/answer/{release-version}` 目录。 -**重要** 完成后,请访问链接 `https://dist.apache.org/repos/dist/dev/incubator/answer/{release-version}` 检查文件上传是否正确。 +**重要** 完成后,请访问链接 `https://dist.apache.org/repos/dist/dev/answer/{release-version}` 检查文件上传是否正确。  @@ -95,7 +95,7 @@ $ for i in *.tar.gz; do echo $i; sha512sum $i > $i.sha512 ; done ### 如何验证签名 ```shell # 下载 KEYS -$ curl https://dist.apache.org/repos/dist/release/incubator/answer/KEYS > KEYS +$ curl https://dist.apache.org/repos/dist/release/answer/KEYS > KEYS # 导入 KEYS 并信任密钥,请将电子邮件地址替换为您想要信任的地址。 $ gpg --import KEYS @@ -122,12 +122,11 @@ $ for i in *.tar.gz; do echo $i; sha512sum --check $i.sha512; done ## 开始投票 -1. 向 [email protected] 发送投票邮件。孵化器需要先在他们的开发邮件列表上进行投票,该投票需要至少 **3 个来自 Apache Answer PPMC 成员的 +1**。 -2. 等待**至少 72 小时**或直到达到必要的投票数。 -3. 在开发邮件列表上宣布投票结果。 -4. 如果开发投票通过,发送邮件到 [email protected] 请求在通用邮件列表上进行投票。孵化器投票需要至少 **3 个来自孵化器 PMC 成员的 +1** (有约束力的投票)。 -5. 等待**至少 72 小时**或直到达到必要的投票数。 -6. 在通用邮件列表上宣布投票结果。 +> Apache Answer 已经孵化毕业,只需要进行社区投票 + +1. Apache Answer 社区投票后,请发送一封投票邮件至 `[email protected]`。PMC在投票前需要根据文档检查版本的正确性。 +2. 经过**至少 72 小时**并统计到 3 个 +1 PMC member票后,即可进入下一阶段。 +3. 宣布投票结果,发起投票结果邮件到 `[email protected]`。 ### 投票电子邮件模板 @@ -140,33 +139,31 @@ $ for i in *.tar.gz; do echo $i; sha512sum --check $i.sha512; done  ```text -[VOTE] Release Apache Answer (Incubating) {release-version} - -Hello, - - This is a call for vote to release Apache Answer (Incubating) version {release-version}. +[VOTE] Release Apache Answer {release-version} - The vote thread: - https://lists.apache.org/thread/{id} +Hello Apache Answer Community, - Vote Result: - https://lists.apache.org/thread/{id} + This is a call for vote to release Apache Answer version {release-version}. The release candidates: - https://dist.apache.org/repos/dist/dev/incubator/answer/{release-version}/ - + https://dist.apache.org/repos/dist/dev/answer/{release-version} + Release notes: - https://github.com/apache/answer/releases/tag/{release-version} + https://github.com/apache/answer/releases/tag/{release-version} Git tag for the release: - https://github.com/apache/answer/releases/tag/{release-version} - + https://github.com/apache/answer/releases/tag/{release-version} + Git commit id for the release: - https://github.com/apache/answer/commit/{id} + https://github.com/apache/answer/commit/{commit-hash} Keys to verify the Release Candidate: - https://downloads.apache.org/incubator/answer/KEYS - + https://downloads.apache.org/answer/KEYS + + Keys to verify the Release Candidate: + The artifacts signed with PGP key [{key-id}], corresponding to [{email}], that can be found in keys file: + https://dist.apache.org/repos/dist/release/answer/KEYS + The vote will be open for at least 72 hours or until the necessary number of votes are reached. Please vote accordingly: @@ -180,12 +177,12 @@ Hello, [ ] Download links are valid. [ ] Checksums and PGP signatures are valid. [ ] Source code distributions have correct names matching the current release. - [ ] LICENSE and NOTICE files are correct for each Apache Answer repo. + [ ] LICENSE and NOTICE files are correct for each Answer repo. [ ] All files have license headers if necessary. [ ] No unlicensed compiled archives bundled in source archive. To compile from the source, please refer to: - + https://github.com/apache/answer#building-from-source Thanks, @@ -197,12 +194,12 @@ Thanks, ```text Hello everyone, -The Apache Answer (Incubating) {release-version} has been released! +The Apache Answer {release-version} has been released! Apache Answer is a Q&A platform software for teams at any scale. Whether it's a community forum, help center, or knowledge management platform, you can always count on Apache Answer. -Download Links: https://downloads.apache.org/incubator/answer/ +Download Links: https://downloads.apache.org/answer/ Release Notes: https://github.com/apache/answer/releases/tag/{release-version} @@ -218,10 +215,10 @@ Thanks, ## 将发布物料迁移到 Apache SVN release -在宣布投票结果之前,你需要将发布物料从 Apache SVN dev 迁移到 Apache SVN release。发布物料应上传到 `https://dist.apache.org/repos/dist/release/incubator/answer/{release-version}` 目录。 +在宣布投票结果之前,你需要将发布物料从 Apache SVN dev 迁移到 Apache SVN release。发布物料应上传到 `https://dist.apache.org/repos/dist/release/answer/{release-version}` 目录。 ```shell -$ svn mv https://dist.apache.org/repos/dist/dev/incubator/answer/{release-version} https://dist.apache.org/repos/dist/release/incubator/answer/{release-version} -m "transfer packages for answer {release-version}" +$ svn mv https://dist.apache.org/repos/dist/dev/answer/{release-version} https://dist.apache.org/repos/dist/release/answer/{release-version} -m "transfer packages for answer {release-version}" ``` ## 注意
