Thr*_*ror 16 arrays github github-actions
我正在开发一个使用数组作为输入的GitHub Action工作流程。
我使用这个解决方案来模拟数组:
- uses: actions/my-custom-ci
with:
subdirectories: src/main/java src/test/java
Run Code Online (Sandbox Code Playgroud)
但我想使用这样的解决方案:
- uses: actions/my-custom-ci
with:
subdirectories:
- src/main/java
- src/test/java
Run Code Online (Sandbox Code Playgroud)
是否可以对自定义 GitHub Actions 使用数组输入?如果是,我们如何使用自定义 GitHub Actions 的数组输入?
Fcm*_*am5 19
在撰写此答案时,GitHub Actions 不支持array
类型作为操作的输入。它仅支持string | number | boolean
(架构:with
参考definitions/env
:)。所以你的方法目前是一个有效的解决方法。
请注意,jq
默认情况下已安装 GitHub 运行程序,并且 GitHub Actions 提供了fromJSON
、toJSON
和 等方法join
,如果您想要生成自定义操作的动态输入,这些方法可以帮助您创建更清晰的解决方案。
您可以检查google-github-actions/get-secretmanager-secrets
的实现,它们接受由换行符指定的多个输入yaml
,而不是作为数组:
- id: 'secrets'
uses: 'google-github-actions/get-secretmanager-secrets@v1'
with:
secrets: |-
token:my-project/docker-registry-token
anotherOne:my-project/a-secret
anotherOneToo:my-project/another-secret
Run Code Online (Sandbox Code Playgroud)
当然,这可能不是您想要实现的目标。并且可能不值得重构您的操作。但目前这是一个解决方法。