[PATCH] ci: do not cancel all jobs of a matrix if one fails

Subsystems: the rest

STALE2019d

3 messages, 3 authors, 2021-01-28 · open the first message on its own page

[PATCH] ci: do not cancel all jobs of a matrix if one fails

From: Philippe Blain via GitGitGadget <hidden>
Date: 2021-01-28 04:08:50

From: Philippe Blain <redacted>

The CI/PR GitHub Actions workflow uses the 'matrix' strategy for the
"windows-test", "vs-test", "regular" and "dockerized" jobs. The default
behaviour of GitHub Actions is to cancel all in-progress jobs in a
matrix if one of the job of the matrix fails [1].

This is not ideal as a failure early in a job, like during installation of
the build/test dependencies on a specific platform, leads to the
cancellation of all other jobs in the matrix.

Set the 'fail-fast' variable to 'false' for all four matrix jobs in the
workflow.

[1] https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast

Signed-off-by: Philippe Blain <redacted>
---
    ci: do not cancel all jobs of a matrix if one fails

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-851%2Fphil-blain%2Fgh-actions-dont-fail-fast-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-851/phil-blain/gh-actions-dont-fail-fast-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/851

 .github/workflows/main.yml | 4 ++++
 1 file changed, 4 insertions(+)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index aef66436484..f6885e88ee6 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -123,6 +123,7 @@ jobs:
     runs-on: windows-latest
     needs: [windows-build]
     strategy:
+      fail-fast: false
       matrix:
         nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
     steps:
@@ -227,6 +228,7 @@ jobs:
     runs-on: windows-latest
     needs: [vs-build, windows-build]
     strategy:
+      fail-fast: false
       matrix:
         nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
     steps:
@@ -272,6 +274,7 @@ jobs:
     needs: ci-config
     if: needs.ci-config.outputs.enabled == 'yes'
     strategy:
+      fail-fast: false
       matrix:
         vector:
           - jobname: linux-clang
@@ -309,6 +312,7 @@ jobs:
     needs: ci-config
     if: needs.ci-config.outputs.enabled == 'yes'
     strategy:
+      fail-fast: false
       matrix:
         vector:
         - jobname: linux-musl
base-commit: e6362826a0409539642a5738db61827e5978e2e4
-- 
gitgitgadget

Re: [PATCH] ci: do not cancel all jobs of a matrix if one fails

From: Jeff King <hidden>
Date: 2021-01-28 06:36:00

On Thu, Jan 28, 2021 at 04:06:08AM +0000, Philippe Blain via GitGitGadget wrote:
From: Philippe Blain <redacted>

The CI/PR GitHub Actions workflow uses the 'matrix' strategy for the
"windows-test", "vs-test", "regular" and "dockerized" jobs. The default
behaviour of GitHub Actions is to cancel all in-progress jobs in a
matrix if one of the job of the matrix fails [1].

This is not ideal as a failure early in a job, like during installation of
the build/test dependencies on a specific platform, leads to the
cancellation of all other jobs in the matrix.

Set the 'fail-fast' variable to 'false' for all four matrix jobs in the
workflow.
I think this is worth doing. Thanks for rolling it up into a patch.

-Peff

Re: [PATCH] ci: do not cancel all jobs of a matrix if one fails

From: Johannes Schindelin <hidden>
Date: 2021-01-28 16:16:21

Hi,

On Thu, 28 Jan 2021, Jeff King wrote:
On Thu, Jan 28, 2021 at 04:06:08AM +0000, Philippe Blain via GitGitGadget wrote:
quoted
From: Philippe Blain <redacted>

The CI/PR GitHub Actions workflow uses the 'matrix' strategy for the
"windows-test", "vs-test", "regular" and "dockerized" jobs. The default
behaviour of GitHub Actions is to cancel all in-progress jobs in a
matrix if one of the job of the matrix fails [1].

This is not ideal as a failure early in a job, like during installation of
the build/test dependencies on a specific platform, leads to the
cancellation of all other jobs in the matrix.

Set the 'fail-fast' variable to 'false' for all four matrix jobs in the
workflow.
I think this is worth doing.
Me, too. ACK!

Thanks,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help