更多 Linux 发行版
我很高兴地宣布 Swift 项目正式支持一套新的 Linux 发行版。 现在为以下新的 Linux 发行版提供可下载的工具链和 Docker 镜像
- Ubuntu 20.04
- CentOS 8
- Amazon Linux 2
以上发行版添加到我们已经支持的 Linux 平台中
- Ubuntu 16.04
- Ubuntu 18.04
支持基于 Fedora 的发行版的移植工作
为了支持基于 Fedora 的发行版(如 CentOS 和 Amazon Linux),Swift 项目的各个组件进行了一些细微的更改
- 更改了
libcurl
的最低要求版本,以便 FoundationNetworking(在 swift-corelibs-foundation 中)可以在未修改的旧版基于 Fedora 的系统上构建 - 教会 SwiftPM 了解基于 Fedora 的系统
- 改进了 Swift 平台支持的构建和文档记录方式,从而在 Linux 上放弃了对
libatomic
的依赖。
总之,这项工作包括对 Swift 项目的 9 个 PR
- https://github.com/apple/swift/pull/29581
- https://github.com/apple/swift/pull/30155
- https://github.com/swiftlang/swift-corelibs-foundation/pull/2716
- https://github.com/swiftlang/swift-corelibs-foundation/pull/2737
- https://github.com/swiftlang/swift-package-manager/pull/2642
- https://github.com/swiftlang/swift-package-manager/pull/2647
- https://github.com/swiftlang/swift-tools-support-core/pull/59
- https://github.com/swiftlang/swift-tools-support-core/pull/60
- https://github.com/swiftlang/swift-llbuild/pull/644
可下载镜像的构建方式
Swift CI 已迁移到使用 Docker 来构建和验证新的 Linux 发行版。已为每个受支持的发行版创建了一个 Dockerfile,并且已创建 CI 任务来构建、测试和创建签名工具链。
Linux 构建 Dockerfile 在 Swift 的 Docker 仓库 中进行管理,目标是与社区公开地发展它们。我们的计划是继续增加我们支持的 Linux 发行版的数量,CentOS 7、Debian 和 Fedora 是最有可能接下来添加的候选版本。
重要的是要注意,新的发行版不会作为 PR 测试的一部分自动运行 - 我们继续在 Ubuntu 16.04 上自动测试 PR - 但您可以使用以下命令“召唤”它们
- @swift-ci 请测试 Ubuntu 20.04
- @swift-ci 请测试 CentOS 8
- @swift-ci 请测试 Amazon Linux 2
参与进来
如果您有兴趣在 Linux 上构建 Swift,请参与进来!
源代码是可用的,我们鼓励开源社区的贡献。如果您有反馈、问题或想讨论该项目,请随时在 Swift 论坛上聊天。如果您想报告错误,请使用 GitHub 问题跟踪器。我们期待与您合作,共同推动行业朝着更好、更安全的编程未来发展。