git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] ci/install-depends: attempt to fix "brew cask" stuff

From
Philippe Blain <levraiphilippeblain@gmail.com>
Date
Jan 24, 2021, 02:41 UTC
Message-ID
<830a88ce-1728-a6a5-f60d-59328f85932c@gmail.com>
In-Reply-To
<YAH0G+Y4fIxoTeZa@coredump.intra.peff.net>
Hi everyone,
Le 2021-01-15 à 14:59, Jeff King a écrit :
Show 23 quoted lines
> 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
Previous: SZEDER GáborNext: Junio C Hamano
Message 10 of 14 in “ci/install-depends: attempt to fix "brew cask" stuff”
  1. ci/install-depends: attempt to fix "brew cask" stuffJunio C Hamano, Jan 15, 2021
  2. Junio C HamanoJan 15, 2021
  3. Eric SunshineJan 15, 2021
  4. Derrick StoleeJan 15, 2021
  5. Junio C HamanoJan 15, 2021
  6. Jeff KingJan 15, 2021
  7. Eric SunshineJan 15, 2021
  8. Jeff KingJan 15, 2021
  9. SZEDER GáborFeb 1, 2021
  10. Philippe BlainJan 24, 2021
  11. Junio C HamanoJan 24, 2021
  12. Taylor BlauJan 25, 2021
  13. Jeff KingJan 27, 2021
  14. Junio C HamanoJan 28, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.