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

作者 | 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/

声明:本文由 InfoQ 翻译,未经许可禁止转载。

今日好文推荐

德国再次拥抱Linux:数万系统从windows迁出,能否避开二十年前的“坑”?

中国软件行业被指“全军覆没”;微软 Copilot GPTs 宣布停服;苹果股价暴涨,“一夜飙升”1.56万亿!| Q资讯

一次性裁掉 50 多名副总裁!小扎的冷血管理哲学:高管也是打工人

苹果有史以来最疯狂的发布会!发布颠覆性个人智能系统Apple Intelligence,并彻底改革Siri


相关推荐

  • Kong AI Gateway 正式 GA
  • 扔掉小红书,国外自由行:Pokémon Go 和 Google Gemini 帮助打造最强旅游 Copilot
  • 远离硅谷、不靠风投!18人团队逆势搞出超人气数据库,CTO 一人5年多写了15万行代码
  • 父亲节的诗:爱的表达
  • 5 个超强大的 3D地球 开发框架!!!
  • 推荐 3 个前端最火的开源框架 !
  • 手把手教你如何用AIGC大模型写一首歌
  • 阿里,2两年多少了5万人。
  • 大模型理解复杂表格,字节&中科大出手了
  • 突发!Sam Altman与OpenAI股东正式提出公司转型,成为营利性公司!!
  • [开源]一个集成多个消息渠道可实时和定时推送的消息推送平台
  • 开源框架中的责任链模式实践
  • 带您认识Modbus ASCII协议
  • 6.3K Star很强!一键同步,跨设备书签管理神器
  • 别惹程序员——印度IT工程师被解雇后删了前东家180台服务器、造成几百万损失
  • 全球开源技术峰会GOTC 2024开启报名通道
  • 投稿 SCI,审稿意见居然是抄的?作者一路闹到 Nature:惹到我你算是踢到钢板了
  • 软科中国大学人工智能专业排名出炉!清华第一!北大爆冷!仅排第13名。。。
  • 重磅!软件架构大师Chris Richardson、​MIT计算机与AI实验室Daniel Jackson将出席软件研发技术大会
  • Session的作用,分布式环境下Session怎么实现?