Subject: Re: [PATCH v2 00/25] CI: run "make [test]" directly, use $GITHUB_ENV

From: Junio C Hamano <[email-masked]>
Date: Mon, 28 Mar 2022 09:34:39 -0700

Ævar Arnfjörð Bjarmason  <[email-masked]> writes:

> A re-roll of my improvements my series to simplify the CI setup a lot
> (see diffstat), much of it was dealing with constraints that went away
> with Travis et al. CI for this series (OSX runners failing for
> unrelated reasons):
>
>     https://github.com/avar/git/actions/runs/2040223909
>
> For a much more detailed summary of how the output looks before/after
> see v1[].
>
> This series heavily conflicts with Johannes's
> js/ci-github-workflow-markup in "seen", but in the v1 I suggested
> basing that series on top of this one, because it can benefit a lot
> from these simplifications.
>
> I'll reply to this series with a proposed rebasing of that series on
> top of this one, which allows for removing almost all of its changes
> to "ci/" with no harm to its end-goals, i.e. the splitting up of
> "make" and "make test" output is something it'll get for free from
> this series.

A sample run for this can be seen at

  https://github.com/git/git/runs/5715128999?check_suite_focus=true

With the output, I can point at a specific line, e.g.

  https://github.com/git/git/runs/5715128999?check_suite_focus=true#step:7:1150

The URLs with Dscho's one that correspond to the above two are

  https://github.com/git/git/runs/5699946885?check_suite_focus=true
  https://github.com/git/git/runs/5699946885?check_suite_focus=true#step:4:1826

The specific breakage (which has little to do with the comparison
between CI error pages) is that diff_setup() is called and populate
diff_options.parseopts member but diff_setup_done() does not seem to
be called and ends up leaking it.

I wonder why options->parseopts is not freed immediately after
diff_opt_parse() calls parse_options(), but need to be kept until
diff_setup_done().