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

问题描述 投票:0回答:1

我基本上必须在 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

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

我的配置似乎还没有起作用,本质上是这样的: 名称:构建

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

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

node.js macos continuous-integration github-actions
1个回答
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 macos runner 上安装的软件列在 https://github.com/actions/runner-images/tree/main/images/macos

© www.soinside.com 2019 - 2024. All rights reserved.