Copilot commented on code in PR #967: URL: https://github.com/apache/fesod/pull/967#discussion_r3652272473
########## website/i18n/zh-cn/docusaurus-plugin-content-docs-community/current/release/release-version.md: ########## @@ -3,125 +3,241 @@ id: 'release-version' title: '如何发布版本' --- -# 1. 前言 +## 1. 准备 -## 1.1 Apache 版本发布文档 +### 1.1 版本发布指南 -参考以下链接,了解 ASF 版本发布流程: +参考以下链接,了解 ASF 版本发布相关指南: - [Apache Release Guide](http://www.apache.org/dev/release-publishing) - [Apache Release Policy](http://www.apache.org/dev/release.html) +- [Apache Incubator Release](https://incubator.apache.org/guides/releasemanagement.html) - [Maven Release Info](http://www.apache.org/dev/publishing-maven-artifacts.html) -## 1.2 PGP 签名 +### 1.2 PGP签名 -遵循 Apache 版本发布指南,对发布版本签名,用户也可据此判断下载的版本是否被篡改。 +如果您是**第一次**作为发布者,请参考 [Apache Releases Signing documentation](https://infra.apache.org/release-signing),[Cryptography with OpenPGP](http://www.apache.org/dev/openpgp.html) 指南生成一个 `PGP` 密钥, `PGP` 密钥将用于版本签名。 -创建 `pgp` 密钥用于版本签名,使用 **\<your Apache ID>@apache.org** 作为密钥 USER-ID +#### 1.2.1 安装 -详情可参考 [Apache Releases Signing documentation](https://infra.apache.org/release-signing),[Cryptography with OpenPGP](http://www.apache.org/dev/openpgp.html) +请根据操作系统安装好对应的 `GnuPG 2.x`,推荐安装最新版本。例如 -生成密钥的简要流程: - -- 通过`gpg --full-gen-key` 生成一个新的 `gpg` 密钥, 设置密钥长度为 4096 +```bash +apt-get install gnupg2 +``` - 注:可设置永不过期,也可根据自己需求设置一定的过期时间,但需要在过期后更新的公钥到[DEV KEYS file](https://dist.apache.org/repos/dist/dev/incubator/fesod/KEYS) 和 [RELEASE KEYS file](https://dist.apache.org/repos/dist/release/incubator/fesod/KEYS) +#### 1.2.2 生成密钥 -- 通过 `gpg --keyserver keys.openpgp.org --send-key <your key id>` 上传密钥到公钥服务器 +请使用您的 **\<your Apache ID>@apache.org** 作为密钥用户标识(USER-ID),生成一个新的 `gpg` 密钥 - 注:如若访问不通,可通过[OpenPGP Keyserver (ubuntu.com)](https://keyserver.ubuntu.com/) 在线上传公钥 +```bash +gpg --full-gen-key +``` - ```bash - 使用该命令可查到keyid如:gpg --list-signatures --keyid-format LONG - pub rsa4096/XXXXXXXX 2025-12-15 [SC] [有效至:2027-12-15] - F2D3A28A392129B927C7FB42XXXXXXXX - uid [ 绝对 ] xxxx <[email protected]> - sig 3 XXXXXXXX 2025-12-15 [自签名] - sub rsa4096/XXXXX 2025-12-15 [E] [有效至:2027-12-15] - sig XXXXXXXX 2025-12-15 [自签名] - ``` +示例 -- 通过 `gpg --armor --output ./public-key.txt --export XXXXXXXX` 导出公钥到文本文件 +```bash +$ gpg --full-gen-key +gpg (GnuPG) 2.4.8; Copyright (C) 2025 g10 Code GmbH +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. -- 将生成的密钥追加到[DEV KEYS file](https://dist.apache.org/repos/dist/dev/incubator/fesod/KEYS) 和 [RELEASE KEYS file](https://dist.apache.org/repos/dist/release/incubator/fesod/KEYS) +请选择您要使用的密钥类型: + (1) RSA 和 RSA + (2) DSA 和 Elgamal + (3) DSA(仅用于签名) + (4) RSA(仅用于签名) + (9) ECC(签名和加密) *默认* + (10) ECC(仅用于签名) + (14)卡中现有密钥 +您的选择是? 1 + +RSA 密钥的长度应在 1024 位与 4096 位之间。 +您想要使用的密钥长度?(3072) 4096 +请求的密钥长度是 4096 位 +请设定这个密钥的有效期限。 + 0 = 密钥永不过期 + <n> = 密钥在 n 天后过期 + <n>w = 密钥在 n 周后过期 + <n>m = 密钥在 n 月后过期 + <n>y = 密钥在 n 年后过期 +密钥的有效期限是?(0) 0 +密钥永远不会过期 +这些内容正确吗? (y/N) y + +真实姓名: (使用apache id) +电子邮件地址: (使用apache邮箱) +注释: (填写注释) +您选定了此用户标识: + "用户名 (注释) <邮件地址>" + + 更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)? o +``` -注意: +注意事项: -DEV SVN 仓库可以由 Release Manager 自行添加,Release SVN 仓库需要 PMC 权限,可以由 PMC 协助将 KEY 进行上传。 +- 密钥类型:根据`gpg`版本,使用安全的密钥类型,推荐至少是 `RSA 和 RSA` +- 密钥长度:建议设置 4096 位 +- 有效期:可设置永不过期,也可根据自己需求设置一定的过期时间 +- 真实姓名:使用 Apache ID +- 邮箱地址:使用 Apache 邮箱 +- 注释:注释信息 -**Tips:** 需要设置默认公钥, 若有多个公钥,请修改 `~/.gnupg/gpg.conf` +确定后输入密码 -参考示例: +```bash +┌─────────────────────────────────────────────────────────────┐ +│ Please enter the passphrase to │ +│ protect your new key │ +│ │ +│ Passphrases match. │ +│ │ +│ Passphrase: _______________________________________________ │ +│ │ +│ Repeat: ___________________________________________________ │ +│ ┌─────────────────────────────────────────────────────────┐ │ +│ │ │ │ +│ └─────────────────────────────────────────────────────────┘ │ +│ <OK> <Cancel> │ +└─────────────────────────────────────────────────────────────┘ +``` -```text -gpg (GnuPG) 2.2.4; Copyright (C) 2017 Free Software Foundation, Inc. -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. +#### 1.2.3 查询密钥 -Please select what kind of key you want: - (1) RSA and RSA (default) - (2) DSA and Elgamal - (3) DSA (sign only) - (4) RSA (sign only) -Your selection? 1 -RSA keys may be between 1024 and 4096 bits long. -What keysize do you want? (2048) 4096 -Requested keysize is 4096 bits -Please specify how long the key should be valid. - 0 = key does not expire - <n> = key expires in n days - <n>w = key expires in n weeks - <n>m = key expires in n months - <n>y = key expires in n years -Key is valid for? (0) -Key does not expire at all -Is this correct? (y/N) y - -GnuPG needs to construct a user ID to identify your key. - -Real name: (设置用户名)(使用apache id) -Email address: (设置邮件地址)(使用apache邮箱) -Comment: (填写注释) -You selected this USER-ID: - "用户名 (注释) <邮件地址>" - -Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O -You need a Passphrase to protect your secret key. (设置密码) -``` - -将生成的公钥和私钥转化为 ASCII 形式: +查看密钥列表: ```bash -gpg --armor --output ./public-key.txt --export XXXXXXXX -gpg --armor --output ./private-key.txt --export-secret-keys XXXXXXXX +gpg --list-signatures --keyid-format LONG ``` -查看密钥列表: +执行后输出本机上所有的密钥列表,通过**\<your Apache ID>@apache.org** 来找到所需的密钥 -```text -[root@localhost ~]# gpg --list-signatures --keyid-format LONG +#### 1.2.3 上传公钥 Review Comment: 章节编号重复:`#### 1.2.3` 同时用于“查询密钥”和“上传公钥”,会导致目录结构混乱。建议将“上传公钥”改为 1.2.4(并保持 GitHub 上传为 1.2.5)。 ########## website/i18n/zh-cn/docusaurus-plugin-content-docs-community/current/release/release-version.md: ########## @@ -346,92 +471,117 @@ Checklist for reference: To learn more about Apache Fesod , please see https://fesod.apache.org/ ``` -### 3.1.2 完成投票 +将正文中所需内容更正为实际的`${RELEASE_VERSION}`的`RCN`轮次的内容 + +### 4.2 完成投票 + +**投票持续至少 72 小时并至少获得 3个 +1 的 binding 票** 之后,发布投票结果: + +发送至: + +```mail [email protected] +``` + +标题: + +```text +[RESULT][VOTE] Release Apache Fesod (Incubating) ${RELEASE_VERSION}-RCN +``` -发布投票通过邮件 +正文: ```text Hi Community, +The vote to release Apache Fesod (Incubating) ${RELEASE_VERSION}-RCN-RCN has +PASSED and closed now. -The vote to release Apache Fesod (Incubating) vx.x.x-RCN has passed -with 3 +1 binding votes, and no +0 or -1 votes. - -3 (+1 binding) +The result is as follows: +3 binding +1 Votes: +- XXX - XXX - - XXX +2 non-binding +1 Votes: +- XXX - XXX no further 0 or -1 votes. - The vote thread: -所对应投票邮件的thread链接,如: -https://lists.apache.org/thread/rwco6lms9qo10whjj8gg1dr8j7drl2gf +https://lists.apache.org/thread/3b8vz8891cjtjblthvnx95l44sh2fmqz Thank you for reviewing and voting for our release candidate. -We will soon launch the second stage of voting. +We will now bring this vote to the general@incubator mailing list for +IPMC approval. ``` -## 3.2 孵化器投票 +如果投票失败,先解决提出的问题,然后按照版本发布流程,准备新一轮`RCN` 的物料和发起新一轮投票。 + +## 5 孵化器投票 + +社区投票通过并完成后,需要想孵化器邮件列表发起投票。 Review Comment: “需要想孵化器邮件列表发起投票”里“想”应为“向”。 ########## website/i18n/zh-cn/docusaurus-plugin-content-docs-community/current/release/release-version.md: ########## @@ -314,18 +440,17 @@ Hash for the release tag: e7546d1138d4d3a638df10193a4c29c50a7e55d8 Release Notes: -https://github.com/apache/fesod/releases/tag/2.0.0-incubating-rc1 +https://github.com/apache/fesod/releases/tag/2.0.0--rc1 Review Comment: Release Notes 链接里出现 `2.0.0--rc1`(双连字符),大概率会导致链接不可用。建议改为与 `${RELEASE_VERSION}` / `RCN` 一致的占位符链接。 This issue also appears in the following locations of the same file: - line 497 - line 691 ########## website/community/release/release-version.md: ########## @@ -330,18 +457,17 @@ Hash for the release tag: e7546d1138d4d3a638df10193a4c29c50a7e55d8 Release Notes: -https://github.com/apache/fesod/releases/tag/2.0.0-incubating-rc1 +https://github.com/apache/fesod/releases/tag/2.0.0--rc1 Review Comment: The Release Notes URL uses `2.0.0--rc1` (double hyphen), which doesn’t match the RC tag pattern used elsewhere (e.g., `...-rc1`) and will likely 404. Consider using a placeholder tied to the vote’s RC round instead of a hard-coded (and malformed) example. This issue also appears on line 708 of the same file. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
