发布#
原则#
Apache Arrow 发布遵循在Apache 软件基金会发布策略中定义的指南。
准备#
发布的一些步骤需要成为提交者或 PMC 成员。
Apache Web of Trust 中的 GPG 密钥用于签署工件。这将需要由其他 Apache 提交者/PMC 成员交叉签名。您必须在
dev/release/.env
中设置您的 GPG 密钥 ID(请参阅dev/release/.env.example
以获取模板)。需要将 GPG 密钥添加到此用于开发的 Subversion 存储库和用于发布的 Subversion 存储库。
一个Artifactory API 密钥(使用您的 ASF 凭据登录,然后从右上角的个人资料中生成它)。您必须在
dev/release/.env
中设置 Artifactory API 密钥(请参阅dev/release/.env.example
以获取模板)。一个 GitHub 个人访问令牌,至少具有
workflow
作用域。您必须在dev/release/.env
中设置 GitHub 个人访问令牌(请参阅dev/release/.env.example
以获取模板)。克隆apache/arrow并准备
apache/arrow
的dev/release/.env
(请参阅dev/release/.env.example
以获取模板),就像apache/arrow-flight-sql-postgresql
的dev/release/.env
一样。
创建 RC#
创建第一个 RC 时,准备一个新的 RC
rake release:rc:prepare ARROW_SOURCE=/path/to/apache/arrow/repository/
您需要指定您克隆的apache/arrow
存储库。
这会在本地存储库上创建一个prepare-${VERSION}
分支。您需要推送它并为其打开一个新的拉取请求。
拉取请求合并后,为新的 RC 打标签
rake release:rc:tag
这会为新的 RC 创建一个新的标签。您可以检查它并推送到apache/arrow-flight-sql-postgresql
。
新 RC 的工件在 GitHub Actions 上自动构建。
签署这些工件
rake release:rc:sign
请注意,在运行上述命令行之前,您无需等待 GitHub Actions 作业完成。因为上述命令行会自动等待 GitHub Actions 作业完成。
上传 Linux 包
rake release:rc:linux ARROW_SOURCE=/path/to/apache/arrow/repository/
您需要指定您克隆的apache/arrow
存储库。您必须准备其dev/release/.env
(不仅仅是apache/arrow-flight-sql-postgresql
的dev/release/.env
)。
在 GitHub Actions 上重新运行 RC 验证 CI 作业
rake release:rc:verify
在dev@arrow.apache.org
上启动新 RC 的投票线程。您可以生成投票电子邮件模板
rake release:vote
批准需要 PMC 成员净 3 个 +1 票。发布不能被否决。
如何验证#
安装依赖项#
至少,您将需要
Apache Arrow C++(必须启用 Apache Arrow Flight SQL)
C++ 编译器
Git
GnuPG
Meson
Ninja
PostgreSQL 15 或更高版本
cURL
jq
shasum(内置于 macOS)或 sha256sum/sha512sum(在 Linux 上)
验证#
克隆项目
git clone https://github.com/apache/arrow-flight-sql-postgresql.git
运行验证脚本
cd arrow-flight-sql-postgresql
# Pass the version and the RC number.
# This stops after build is succeeded. You need to verify manually after it.
# See "Hints" the script shows what you do.
dev/release/verify-rc.sh 0.1.0 1
这些环境变量可能会有所帮助
ARROW_TMPDIR=/path/to/directory
用于指定使用的临时目录。如果脚本必须运行多次,使用固定目录可以帮助避免重复相同的设置和构建步骤。TEST_SOURCE_MANUAL=0
用于禁用手动验证。
完成后并且脚本通过后,回复邮件列表投票线程,发送+1
或-1
。
发布后任务#
发布投票后,我们必须完成以下任务
发布工件
rake release:rc:publish ARROW_SOURCE=/path/to/apache/arrow/repository/
此命令行通过您的 Web 浏览器打开Apache 报告器。不要忘记通过页面中的表单注册新版本。
此命令行创建新版本的标签,但默认情况下不会自动推送它。不要忘记推送它。
发布版本博文。以下命令行生成博文大纲,然后填写大纲并在apache/arrow-site
上创建一个 PR
rake release:announce:blog PREVIOUS_VERSION=X.Y.Z
在邮件列表中宣布新版本。以下命令行生成公告电子邮件大纲,然后填写大纲并将公告电子邮件发送到announce@apache.org
、user@arrow.apache.org
和dev@arrow.apache.org
。您必须使用您的@apache.org
电子邮件地址向announce@apache.org
发送电子邮件
rake release:announce:mail
在pgsql-announce@postgresql.org
上宣布新版本。
您需要创建您的 PostgreSQL 社区帐户:https://postgresql.ac.cn/account/
您需要加入 PostgreSQL 社区中的 Apache Arrow 组织。待办事项:创建它。
以下命令行生成公告电子邮件大纲,然后填写大纲并将其提交到https://postgresql.ac.cn/account/edit/news/
rake release:announce:postgresql
更新版本
rake version:bump NEW_VERSION=X.Y.Z