Subject: Re: [PATCH 1/1] ci: split the `linux-gcc` job into two jobs

From: SZEDER Gábor <[email-masked]>
Date: Thu, 13 Jun 2019 19:43:29 +0200

On Thu, Jun 13, 2019 at 06:51:04PM +0200, Johannes Schindelin wrote:
> Hi,
> 
> On Thu, 13 Jun 2019, Junio C Hamano wrote:
> 
> > SZEDER Gábor <[email-masked]> writes:
> >
> > > On Thu, Jun 13, 2019 at 05:53:51AM -0700, Johannes Schindelin via GitGitGadget wrote:
> > >> From: Johannes Schindelin <[email-masked]>
> > >>
> > >> This job was abused to not only run the test suite in a regular way but
> > >> also with all kinds of `GIT_TEST_*` options set to non-default values.
> > >>
> > >> Let's split this into two
> > >
> > > Why...?
> > >
> > >> with the `linux-gcc` job running the default
> > >> test suite, and the newly-introduced `linux-gcc-extra` job running the
> > >> test suite in the "special" ways.
> > >>
> > >> Technically, we would have to build Git only once, but it would not be
> > >> obvious how to teach Travis to transport build artifacts, so we keep it
> > >> simple and just build Git in both jobs.
> >
> > I had the same reaction.
> 
> So basically you are saying that the cover letter was the wrong location
> for this:
> 
> 	For people like me, who often look at our CI builds, it is hard to
> 	tell whether test suite failures in the linux-gcc job stem from
> 	the first make test run, or from the second one, after setting all
> 	kinds of GIT_TEST_* variables to non-default values.

Is this really an issue in practice?  In my experience there are only
two (and a half) cases:

  - if both the 'linux-gcc' and 'linux-clang' build jobs fail, then
    it's some sort of a general breakage.

  - if only the 'linux-gcc' build job fails, the 'linux-clang'
    succeeds, then it's a breakage in the test run with the various
    'GIT_TEST_*' test knobs enabled (unless the failing 'linux-gcc'
    build job's runtime is below, say, 5 minutes, in which case it's a
    build error only triggered by GCC(-8), and, as I recall, is rather
    rare).

> 	Let's make it easier on people like me.
> 
> 	This also helps the problem where the CI builds often finish the other
> 	jobs waaaay before linux-gcc finally finishes

This is not the case on Travis CI, where the runtime of the macOS
build jobs are far the longest, so this change won't help anything
there... on the contrary, it would make things slower by spending time
on installing dependencies and building Git in one more build job.

>       too: linux-gcc and
> 	linux-gcc-extra can be run in parallel, on different agents.