Swift 5.3 发布流程
这篇文章描述了 Swift 5.3 的目标、发布流程和预计时间表。
动机和目标
Swift 5.3 是一个旨在包含显著的质量和性能增强的版本。此外,此版本将扩展 Swift 可用和支持的平台数量,特别是增加对 Windows 和其他 Linux 发行版的支持。
Swift 5.3 的快照
Swift 5.3 发布分支的可下载快照将定期发布,作为持续集成测试的一部分。随着支持的可用性,快照下载将添加到新支持的平台。
一旦 Swift 5.3 发布,除了快照之外,还将发布官方最终版本。
将更改纳入 Swift 5.3
在 2020 年 4 月 20 日,release/5.3 分支将在 swift 仓库和大多数相关项目仓库中切出。请注意新的分支命名方案。这将包含 Swift 5.3 中将发布的更改。分支切出后,如果更改符合发布标准,则可以通过拉取请求将其提交到该分支。
一些项目将在不同的日期切出其 Swift 5.3 分支
| 项目 | 分支日期 |
|---|---|
| indexstore-db | 2020 年 3 月 27 日 |
| swift-llbuild | 2020 年 3 月 27 日 |
| swift-package-manager | 2020 年 3 月 27 日 |
| sourcekit-lsp | 2020 年 3 月 27 日 |
| swift-tools-support-core | 2020 年 3 月 27 日 |
相同的策略将适用于这些项目:一旦分支切出,如果更改符合发布标准,则可以通过拉取请求将其提交到该分支。
关于将更改纳入 Swift 5.3 的理念
-
所有针对 Swift 5.3 的语言和 API 更改都将通过 Swift 演化流程。演化提案应力争在分支日期之前完成,以增加其影响 Swift 5.3 版本的机会。例外情况将根据具体情况考虑,特别是如果它们与版本的核心目标相关联。
-
其他更改(例如,错误修复、诊断改进、SourceKit 接口改进)将根据其风险和影响被接受。
-
如果低风险的测试调整有助于版本的资格认证,也将在版本分支的后期被接受。
-
随着版本趋于稳定,接受更改的标准将变得越来越严格。
受影响的仓库
以下仓库将具有 release/5.3 分支,以跟踪作为 Swift 5.3 版本一部分的源代码
- indexstore-db
- sourcekit-lsp
- swift
- swift-cmark
- swift-corelibs-foundation
- swift-corelibs-libdispatch
- swift-corelibs-xctest
- swift-integration-tests
- swift-llbuild
- swift-package-manager
- swift-stress-tester
- swift-syntax
- swift-tools-support-core
- swift-xcode-playground-support
llvm-project 将具有相应的 swift/release/5.3 分支。
发布经理
版本的总体管理将由以下个人监督,他们将在 Swift 5.3 版本趋于稳定时宣布何时对更改实施更严格的控制。
对于 Swift 5.3 版本,我们正在为我们支持的每个平台添加发布经理。他们将监督特定于平台的问题以及该平台版本的资格认证。
-
Ted Kremenek 是 Swift 5.3 的总体发布经理。
-
Doug Gregor 是 Swift 编译器 的发布经理
-
Duncan Exon Smith 是 llvm-project 的发布经理。
-
Fred Riss 是 llvm-project 中 LLDB 的发布经理。
-
Ben Cohen 是 Swift 标准库 的发布经理。
-
Tony Parker 是 swift-corelibs-foundation 的发布经理。
-
Brian Croom 是 swift-corelibs-xctest 的发布经理。
-
Rick Ballard 是 swift-package-manager 的发布经理。
-
Daniel Dunbar 是 swift-llbuild 和 swift-tools-support-core 的发布经理。
-
Argyrios Kyrtzidis 是 sourcekit-lsp、indexstore-db、swift-syntax 和 swift-stress-tester 的发布经理。
平台发布经理
-
Nicole Jacque 是 Darwin 平台的发布经理。
-
Tom Doron 是 Linux 平台的发布经理。
-
Saleem Abdulrasool 是 Windows 平台的发布经理。
如有关于发布管理流程的任何问题,请随时在开发论坛上发帖,或直接联系 Ted Kremenek。
发布分支的拉取请求
为了使拉取请求在发布分支(release/5.3)切出后被考虑包含在内,它必须包含以下信息
-
解释:对正在修复的问题或正在进行的增强的描述。这可以简短,但应该清楚。
-
范围:对更改的影响/重要性的评估。例如,更改是否是源破坏性语言更改等。
-
SR 问题:SR(如果更改修复/实施了 bugs.swift.org 上的问题/增强功能)。
-
风险:接受此更改对版本发布的(具体)风险是什么?
-
测试:已经完成或需要完成哪些具体测试,以进一步验证此更改的任何影响?
-
审查者:受影响组件的一个或多个代码所有者应审查更改。技术审查可以由代码所有者委托或根据认为适当或有用的方式请求。
所有提交到 release/5.3 分支的更改都必须通过由相应发布经理接受的拉取请求。