每月非 Darwin Swift 版本发布
发布经理将宣布每个月度版本的合并窗口期。此合并窗口期将保持开放约三周,之后将关闭。紧随合并窗口期关闭之后,发布经理有一周时间来最终确定发布版本,然后该版本将在 swift.org 上发布。所有相关日期将在 Swift 论坛上的公告中提前公布。
一旦合并窗口期开放,任何人都可以针对论坛帖子中宣布的发布分支打开拉取请求。为了保持流程的顺畅和轻量,发布经理只会考虑满足以下条件的拉取请求:
- 是错误修复,
- 已经合并到
main
, - 通过发布分支上的所有单元测试,并且
- 包含至少一个单元测试来测试已更改的代码。
我们预计大多数错误修复都是小的更正,因此创建拉取请求可能只是创建一个分支,然后执行 git cherry-pick -x FIX-COMMIT-FROM-MAIN-SHA
。我们意识到并非所有的反向移植都将是无冲突的 cherry-pick,但我们希望社区共同努力,及时交付最紧迫的错误修复。针对点版本的更改必须仅关注非 darwin 平台。
发布分支的拉取请求
为了使拉取请求在发布分支被创建后被考虑包含在内,该拉取请求必须具有
- 以包含目标分支的发布版本号的指定开头的标题。
- 此 表单在其描述中填写完整。不适用的项目可以留空或用指示说明完成,但绝不能省略。
要在浏览器中在 swiftlang 仓库中起草拉取请求时切换到此模板,请将 template=release.md
查询参数附加到当前 URL 并刷新。例如
-https://github.com/swiftlang/swift/compare/main...my-branch?quick_pull=1
+https://github.com/swiftlang/swift/compare/main...my-branch?quick_pull=1&template=release.md
所有 进入发布分支的更改都必须通过 由相应的发布经理接受的拉取请求。
如果您认为有一个重要的错误修复应该进入下一个点版本,但您没有能力及时修复它,请使用 Swift 论坛寻求帮助。Swift 社区包括许多愿意提供帮助的人,有时引起对错误的关注是解决问题所需的全部。与往常一样,请记住,社区的大部分人不是全职从事 Swift 工作,所以请友善。
同样,如果您已经打开了一个拉取请求,您可能希望在 Github 拉取请求上分配发布经理,以便他们可以立即查看。发布经理将在整个合并窗口期内合并补丁。但是,一旦合并窗口期关闭,在下一个合并窗口期打开之前,将不再考虑其他拉取请求。