我有两个共享并发组的工作流程:
jobs:
evaluate:
runs-on: [ android-emulator ]
concurrency: evaluation_emulator
和:
jobs:
other_tests:
runs-on: [ android-emulator ]
concurrency: evaluation_emulator
第二份工作已取消:
由于存在“evaluation_emulator”的更高优先级等待请求而取消
尽管事实上文档说默认行为是将工作流程置于待处理状态,而不是取消:
当并发作业或工作流程排队时,如果使用存储库中相同并发组的另一个作业或工作流程正在进行中,则排队的作业或工作流程将处于挂起状态。
为什么会出现这种情况?
根据我在文档中发现的内容,默认行为是不取消正在运行的作业,但它将取消待处理的作业:
排队的作业或工作流程将处于待处理状态。任何先前待处理的工作 否则并发组中的工作流将被取消。
有对此进行讨论,问题似乎还没有解决..并发取消待处理
就我而言,我需要改变我的行为
PRD:
strategy:
matrix:
os: [ubuntu-latest, ubuntu-20.04]
runs-on: ${{ matrix.os }}
environment: PRD
concurrency:
group: ${{ matrix.os }}-${{ github.workflow }}-${{ github.ref }} #1
cancel-in-progress: true
needs: HOM
steps:
- name: Forçar falha
run: |
echo "::warning:: ${{ vars.ambiente }}"
#1 = 在这里我添加了
所以旧行是${{ matrix.os }}-
group: ${{ github.workflow }}-${{ github.ref }}
新行是
group: ${{ matrix.os }}-${{ github.workflow }}-${{ github.ref }}