如何在 GitHub Actions/Workflows 配置中安装 imagemagick 和其他自制依赖项?

Lan*_*ard 5 macos continuous-integration node.js github-actions

我基本上必须在 Mac 上执行此操作,才能在本地为我的包连接所需的依赖项:

brew cask install java
brew install graphicsmagick
brew install imagemagick
brew install fontforge
brew install ffmpeg
brew install xetex
brew install nasm
brew install qemu
Run Code Online (Sandbox Code Playgroud)

我正在使用 Node.js,它是一个节点包。我如何告诉 GitHub Actions/Workflows 在 Mac 环境中设置所有这些内容?我还想尝试运行 Ubuntu 环境,因此最好知道如何为每个环境运行不同的安装设置脚本。

我的配置似乎还没有起作用,本质上是这样的: name: build

on:
  pull_request:
    paths-ignore:
      - '**.md'
  push:
    branches:
      - build
    paths-ignore:
      - '**.md'

jobs:
  # linux:
  #   runs-on: ubuntu-latest
  #   steps:
  #     - uses: actions/checkout@v2
  #     - uses: actions/setup-node@v1
  #     - run: sudo apt-get install ninja-build
  #     - run: ninja --version

  # windows:
  #   runs-on: windows-latest
  #   steps:
  #     - uses: actions/checkout@v2
  #     - uses: actions/setup-node@v1
  #     - run: choco install ninja
  #     - run: ninja --version

  macos:
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: 14.x
      - run: brew cask install java
      - run: brew install graphicsmagick
      - run: brew install imagemagick
      - run: brew install fontforge
      - run: brew install ffmpeg
      - run: brew install xetex
      - run: brew install nasm
      - run: brew install qemu
      - run: npm ci
      - run: npm test
Run Code Online (Sandbox Code Playgroud)

我没有任何 docker(我也不应该使用 docker,因为我想在 Mac 环境中运行?)。想知道我接下来需要做什么。

Dan*_*nyB 3

看起来你至少有三个选择(而且你不需要 docker):

选项1:在Ubuntu上运行并使用brew安装

Ubuntu GitHub Runner已经安装了 linuxbrew(链接文档中的最后一个项目符号)。

您可能会在这里遇到问题,因为此环境与您的 Mac 不完全兼容。

选项 2:在 Ubuntu 上运行并使用 apt 安装

找到当前使用brew安装的相应apt包,并使用指令正常安装它们run

选项 3:在 MacOS 运行器上运行

这可能是最适合您的。如果您希望 CI 环境更接近您的个人环境,请在 mac runner 而不是 ubuntu runner 上运行。这些是受支持的环境- 您可能会需要runs-on: macos-latest此处列出了GitHub mac runner 上安装的软件。