GitHub 动作中的矩阵是什么?

What are matrixes in GitHub Actions?

GitHub 发布了他们的替代 CI 系统,称为 Actions。来自市场的各种工作流程,例如 setup-node,在其自述文件中有 "Matrix testing" 个示例:

jobs:
  build:
    runs-on: ubuntu-16.04
    strategy:
      matrix:
        node: [ '10', '8' ]
    name: Node ${{ matrix.node }} sample
    steps:
      - uses: actions/checkout@v1
      - name: Setup node
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node }}
      - run: npm install
      - run: npm test

我以前用过 CircleCI,但从未偶然发现这个概念。是某种并行计算吗?

测试矩阵背后的想法是,您有几种不同的情况,您希望在这些情况下 运行 完全相同的测试以确保它有效。例如,我可能有一个项目,我想在每个 macOS 和 Linux.

上的节点 8 和节点 10 上进行测试

我可以简单地写一个矩阵,编写一组通用的步骤,然后让工具创建四个作业,而不是写出四个作业,每个作业对应 Node 版本和 OS我.