前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GitHub iOS 团队如何利用 Apple-Silicon Actions Runner 减少测试时间

GitHub iOS 团队如何利用 Apple-Silicon Actions Runner 减少测试时间

作者头像
深度学习与Python
发布2024-06-17 17:12:16
620
发布2024-06-17 17:12:16
举报
作者 | Sergio De Simone

译者 | 平川

策划 | Tina

GitHub iOS 团队采用基于 Apple Silicon 的 macOS Runner 减少使用 GitHub Actions 构建和测试应用所需的时间。在此过程中,为了更好地利用 GitHub Actions 的并行性,他们还重构了应用。

对于 Apple Silicon Runner 带来的好处,GitHub 工程师 Stephen Glass 和 Eli Perkins 解释说:

Apple Silicon 改进了构建性能,提高了可靠性,使得 iOS 团队可以在整个软件开发生命周期内针对所有苹果平台进行本地测试。它们可以避免交叉编译或模拟存在的问题,并且使用了我们 GitHub Actions Runner 镜像上最新的模拟器。

此外,GitHub 表示,使用 Apple Silicon Runner 有助于确保代码与 iOS、iPadOS、watchOS 和 tvOS 的最新版本兼容。

利用这次迁移机会,GitHub 团队还对他们的工作流程做了一些其他优化。

Glass 和 Perkins 回忆说,一开始迁移到 Apple Silicon Runner 的时候,他们使用了单个 build-test 工作流,在基于英特尔处理器的 Runner 上需要 38 分钟才能完成。

他们首先将测试套件划分成不同的作业。正好,其应用包含大约 60 个第一方模块,其中大多数模块可以单独构建和测试。Glass 和 Perkins 表示,单是这一项修改就大大缩短了 PR 周转时间,因为有些模块在 Apple Silicon 上只花 2-3 分钟就可以完成构建和测试,开发者几乎立即就能获得反馈。

另一个值得注意的改进是,使用 xcodebuild 的 build-without-testing 和 test-without-build 将构建步骤与测试步骤分开,这样可以方便地识别出运行时间比较长的单元测试并进一步进行优化。

总的来说,从使用单个工作流到在 Apple Silicon 上使用逐模块构建和测试的工作流,使构建时间从 38 分钟减少到了 15 分钟。

Apple Silicon Runner 尚处于 Beta 测试阶段,已知还有一些限制。特别是,并不是社区提供的每个 Action 都可以与 ARM64 体系结构兼容。此外,由于苹果虚拟化框架的限制,一些高级功能,如嵌套虚拟化和 Metal Performance Shaders(MPS)都无法使用。

对于企业账户,GitHub Actions 可以使用多达 50 个并发 Runner,而对于 GitHub 免费和团队账户,则仅可以使用 5 个并发 Runner。公共存储库可以使用 M1 处理器,想要使用更强大的硬件则需要额外付费。

原文链接:

https://www.infoq.com/news/2024/06/github-actions-apple-silicon/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档