工作流共享并发组已取消而不是挂起

问题描述 投票:0回答:2

我有两个共享并发组的工作流程:

jobs:
  evaluate:
    runs-on: [ android-emulator ]
    concurrency: evaluation_emulator

和:

jobs:
  other_tests:
    runs-on: [ android-emulator ]
    concurrency: evaluation_emulator

第二份工作已取消:

由于存在“evaluation_emulator”的更高优先级等待请求而取消

尽管事实上文档说默认行为是将工作流程置于待处理状态,而不是取消:

当并发作业或工作流程排队时,如果使用存储库中相同并发组的另一个作业或工作流程正在进行中,则排队的作业或工作流程将处于挂起状态。

为什么会出现这种情况?

github
2个回答
4
投票

根据我在文档中发现的内容,默认行为是不取消正在运行的作业,但它将取消待处理的作业:

排队的作业或工作流程将处于待处理状态。任何先前待处理的工作 否则并发组中的工作流将被取消。

来自:GitHub Actions 的工作流程语法

有对此进行讨论,问题似乎还没有解决..并发取消待处理


0
投票

就我而言,我需要改变我的行为

  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 }}
© www.soinside.com 2019 - 2024. All rights reserved.