持续集成现已可用

我们很高兴地宣布,我们已经为 Swift 项目推出了持续集成(又名 CI)!

我们的 CI 系统由 Jenkins 驱动。对于 Apple 的平台,它为 macOS 和 iOS 模拟器构建和运行测试。对于 Linux,它为 Ubuntu 14.04 和 Ubuntu 15.10(均适用于 x86_64)构建和运行测试。除了用于测试活跃分支外,CI 系统还生成可从 下载的快照。

CI 的目的是随着时间的推移添加更多配置,尤其是在移植到其他平台或架构达到临界质量并获得 Swift 开发社区支持的情况下。

CI 不仅是监控 Swift 项目健康状况的强大工具,还可以用作在更改提交之前进行审查的一部分。为了促进这一点,我们在拉取请求中集成了测试,允许在提交之前进行测试,而不会破坏 master 分支。结果将以内联方式发布在拉取请求中。当有人进行更改导致构建失败时,他们将自动通过电子邮件收到通知。

测试拉取请求

当在拉取请求上审查更改时,具有提交权限的社区成员可以触发 CI 系统对拉取请求进行测试。可以触发在 macOS、Linux 或两个平台上运行的测试。

pull request CI trigger

然后,测试状态将以内联方式发布在拉取请求中,显示测试正在进行中。您可以单击“详细信息”链接直接转到正在进行的测试的状态页面。 CI 进度

测试完成时,结果将在拉取请求中更新。 CI 通过

如果在测试期间发现问题,您将获得指向失败详细信息的链接。 CI 通过

在不久的将来,我们还将支持运行性能测试。我们也欢迎社区参与,帮助我们将测试扩展到更多配置。