From: Philippe Blain Date: Sun, 24 Jan 2021 02:41:29 GMT Subject: Re: [PATCH] ci/install-depends: attempt to fix "brew cask" stuff Message-ID: <830a88ce-1728-a6a5-f60d-59328f85932c@gmail.com> In-Reply-To: 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