如果矩阵中的单个作业失败,将GitHub actions工作流标记为失败

17

在运行GitHub Actions矩阵工作流时,如何允许一个任务失败,继续运行所有其他任务,并将工作流本身标记为失败?

在下面的图片中,您可以看到即使有一个任务失败,工作流也能够通过。我们需要在这种情况下将工作流标记为失败。

我们的工作流结果的图片

以下是我的工作流YAML文件的一小部分。 “continue-on-error”一行会使工作流即使一个任务失败也会继续运行,但我们如何将整个工作流标记为失败呢?

   matrixed:
    runs-on: ubuntu-latest
    continue-on-error: true  
    timeout-minutes: 60
    defaults:
      run:
        shell: bash
        working-directory: myDir

    strategy:
      matrix:
        testgroups:
          [
            "bookingpage-docker-hub-parallel",
            "bookingpage-docker-hub-parallel-group-1",
            "bookingpage-payments",
          ]

我确实找到了这个未回答的问题,但它是关于步骤的,而我们需要知道有关作业的信息。

1个回答

15

使用fail-fast: false来设置strategy,同时不要在作业上设置continue-on-error

  matrixed:
    runs-on: ubuntu-latest
    timeout-minutes: 60
    defaults:
      run:
        shell: bash
        working-directory: myDir

    strategy:
      fail-fast: false
      matrix:
        testgroups:
          [
            "bookingpage-docker-hub-parallel",
            "bookingpage-docker-hub-parallel-group-1",
            "bookingpage-payments",
          ]

1
感谢您的回答@riQQ。所以,问题是由于continue-on-error引起的。即使单个作业通过,这一行也会使整个工作流程通过。 - Abilash CS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接