为存储库中的每个模块动态运行GitHub Action



我的repo有如下结构:

.
├── module1
├── module2
└── module3

我想为每个模块执行一个预定义的操作(如github.com/golangci/golangci-lint-action),而不需要复制粘贴。

理想情况下,我不想在*.yml文件中列出模块名称。如果这是不可能的,那么我希望只指定一次列表,以便我可以在不同的工作流中重用它

是否可以使用任何GitHub Actions功能?

您可以使用matrix来实现这一点。下面的例子可能对你有帮助


on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
directory: [module1, module2, module3]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: '^1.13.1'
- name: golangci-lint
uses: golangci/golangci-lint-action@v2
with:
version: v1.29
working-directory: ${{ matrix.directory }}

最新更新