Github-Action-Day4:安装工具(Installing Tools)

这是我的 Github Action Advent Calendar 的第四天的内容,如果您想要了解更多已经发布的 tips 信息,查看此处的 索引

我在昨天提到了 Github Action 提供了 Linux,Windows 和 macOS 的虚拟环境,您可以在这些环境中运行您的 workflows 。

但是实际上在这些环境中都安装了什么呢?事实证明,安装了 很多东西

Github Action的团队尝试保持我们的运行器在不同的平台上都保持最新的状态。所以您会发现许多不同版本的 Python、Ruby、.NET Core 等等,但是仅仅凭借多种多样 (版本) 的开发工具,并无法保证每个 (运行所需要的) 软件或工具都安装好。

有时候,您需要自己来安装它。

(在 Github Action 执行时) 您获取了整个虚拟机环境 (Github 提供),而在每个任务 (job) 的执行时期,您都可以 (在这个虚拟机中) 安装任何您想安装的东西。

例如,您可能想要安装 ninja 这个优秀的构建工具。

Linux

Linux 虚拟机环境运行的是Ubuntu系统,所以您可以使用 apt 工具来安装任何您需要的额外工具。在默认情况下,您是以一个未授权的用户 (unprivileged user) 运行的 (可能会出现权限不足),但是无密码的 sudo 可以使用,所以您可以:

run: sudo apt-get install ninja-build

Windows

Chocolatey 是一个管理 Windows 软件的软件包管理器 (类似 apt、yum等),而且在Gihub Action提供的虚拟机环境中,它已经安装并配置好了,可以直接使用:

run: choco install ninja

macOS

在macOS上,HomeBrew 是最受欢迎的软件包管理器,而且在Github Action的虚拟机环境中也是可以直接使用的。运行 HomeBrew 不需要 root 权限 — 事实上,并不推荐这么做。

但是您还是可以直接使用 brew install:

run: brew install ninja

All Together Now

把这些安装流程都放到一起,如果您想要在这三个平台上都安装 ninja 的话,您的 workflow 应该看起来像这样: