Hi everyone,
Le 2021-01-15 à 14:59, Jeff King a écrit :
On Thu, Jan 14, 2021 at 07:14:34PM -0800, Junio C Hamano wrote:
It seems that homebrew suddenly started giving us trouble, like this:
https://github.com/git/git/runs/1705953982?check_suite_focus=true#step:3:70
Here is my attempt to work it around by blindly following the
suggested course of action in the error message, without knowing
what I am doing X-<. I am not a Mac person.
What is frustrating is that every time we hit a minor snag like this
to break one of the jobs, all other unrelated jobs are also taken
down.
I think that has to do with the grouping in the workflow file (the
Windows builds, for example, will cancel the _other_ Windows tests if
they fail, but not the Linux ones).
So we could split the macos test out. It would probably involve
duplicating a little bit of the content, but we do something similar for
the dockerized builds. It might be that there is an option we can set to
say "keep building the others even if one of these fails", which would
give us the best of both.
Yes, a quick Google search pointed me to a blog post [1]
that mentions using 'fail-fast: false' in the test matrix so that
one failing job does not automatically cancel the rest of the jobs
in the matrix (the default is 'true') [2].
If we apply that to all four matrices in the workflow file,
(windows-test, vs-test, regular and dockerized), it would be
something like this:
~~~
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index aef6643648..6c31f978bc 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -125,6 +125,7 @@ jobs:
strategy:
matrix:
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ fail-fast: false
steps:
- uses: actions/checkout@v1
- name: download build artifacts
@@ -229,6 +230,7 @@ jobs:
strategy:
matrix:
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ fail-fast: false
steps:
- uses: actions/checkout@v1
- name: download git-sdk-64-minimal
@@ -289,6 +291,7 @@ jobs:
- jobname: GETTEXT_POISON
cc: gcc
pool: ubuntu-latest
+ fail-fast: false
env:
CC: ${{matrix.vector.cc}}
jobname: ${{matrix.vector.jobname}}
@@ -315,6 +318,7 @@ jobs:
image: alpine
- jobname: Linux32
image: daald/ubuntu32:xenial
+ fail-fast: false
env:
jobname: ${{matrix.vector.jobname}}
runs-on: ubuntu-latest
~~~
I've CC-ed Dscho regarding if we also want this for the Windows tests,
(I don't see why not) and if we feel it's a good idea I can
send a proper patch.
Cheers,
Philippe.
[1] https://www.edwardthomson.com/blog/github_actions_6_fail_fast_matrix_workflows.html
[2] https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast