给定一个包含两个包的存储库结构,如下所示:
$ tree
.
└── packages
├── foo
└── bar
$ cat pnpm-workspace.yaml
packages:
- 'packages/**'
$ pnpm -s m ls --depth -1
monorepo /monorepo
@mono/foo@0.0.0 /monorepo/packages/foo
@mono/baz@0.0.0 /monorepo/packages/bar
我想运行 GitHub Actions CI,以便它自动将每个项目作为单独的作业运行。在这里,我设置了一个手动执行并行化的作业:
name: CI
on:
push:
jobs:
build:
strategy:
matrix:
package: ["@mono/foo", "@mono/bar" ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: pnpm/action-setup@v2
with:
version: 6.9.1
- run: pnpm run --filter ${{ matrix.package }} test
这运行得很快,因为每个项目都作为并行作业运行,但我不想手动维护该matrix.package
列表。如何利用pnpm
提供输入到 GitHub Actions CI 的工作区项目列表?