我碰到了一个拦截器,我相信其他人肯定也面临过这个问题,所以只要检查一下是否有任何解决办法。
这是一个示例Github工作流。
name: Test Build
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
app-1:
runs-on: ubuntu-latest
steps:
- name: App-1
run: echo "test1"
app-2:
runs-on: ubuntu-latest
steps:
- name: App-2
run: echo "test1"现在,如果我多次提交,它将触发多个构建,这将相互冲突,并使管道失败。有什么办法可以取消那个特定公关的运行版本吗?
我知道有一个选择
concurrency:
group: CI-${GITHUB_REF#refs/heads/}
cancel-in-progress: true但是我不明白组在这里意味着什么,并发不是取消或跳过,但是失败的build.That不应该是这样的。我是不是漏掉了什么?
发布于 2022-03-17 12:46:46
你快到了。并发组只是由GitHub操作观察到的名称。我们在工作流级别上使用以下并发性(也可以使用作业级别):
on:
workflow_dispatch:
pull_request:
types: [opened, synchronize, reopened]
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true该组设置为您的<ref>,如果您再次在相同的<ref>上推送,GitHub会识别出一个优先级较高的较新的推送。当前在同一组中运行的操作将被终止,并将启动一个新的操作。您将在终止的操作中从GitHub action Canceling since a higher priority waiting request for '<ref>' exists收到以下消息。
工作流级别上并发的GitHub文档,您可以找到这里
https://stackoverflow.com/questions/69004608
复制相似问题