我有一个 GitHub 操作。它可以从分支、拉取请求或手动触发。我想实现以下目标:决不能有两个来自同一分支的操作并行运行,包括来自该分支的拉取请求。
我最好的想法是这样做(伪代码):
concurrency: {{ if github.head_ref is nonempty then github.head_ref else github.ref }}
Run Code Online (Sandbox Code Playgroud)
当作业由 PR 触发时,github.head_ref包含源分支的名称。当作业从分支触发时,github.ref包含分支名称。所以上面的表达式应该可以解决我的问题,除了它不是有效的 GitHub 操作代码,而且我无法弄清楚是否可以制作这样的表达式。
我可以编写一个表达式或表达式组合来实现上述目的吗?或者我可以通过其他方式解决我的根本问题吗?
正如文档中所建议的,在本例中,您可以定义一个后备/默认值,因此请尝试使用:
concurrency:
group: ${{ github.head_ref || github.ref }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3780 次 |
| 最近记录: |