]> git.ipfire.org Git - thirdparty/git.git/commit - ci/run-build-and-tests.sh
CI: don't run "make test" twice in one job
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Tue, 23 Nov 2021 16:29:12 +0000 (17:29 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 24 Nov 2021 00:51:54 +0000 (16:51 -0800)
commit25715419bf4d105d755e0f6d2228e1ac0bd06b88
tree4371a7a29ac3850f22e88fb64b9dfbf3ace59f57
parent707d2f2fe8601c1f425be1233a72bac872c0b4b9
CI: don't run "make test" twice in one job

The "linux-clang" and "linux-gcc" jobs both run "make test" twice, but
with different environment variables. Running these in sequence seems
to have been done to work around some constraint on Travis, see
ae59a4e44f3 (travis: run tests with GIT_TEST_SPLIT_INDEX, 2018-01-07).

By having these run in parallel we'll get jobs that finish much sooner
than they otherwise would have.

We can also simplify the control flow in "ci/run-build-and-tests.sh"
as a result, since we won't run "make test" twice we don't need to run
"make" twice at all, let's default to "make all test" after setting
the variables, and then override it to just "all" for the compile-only
tests.

Add a comment to clarify that new "test" targets should adjust
$MAKE_TARGETS rather than being added after the "case/esac". This
should avoid future confusion where e.g. the compilation-only
"pedantic" target will unexpectedly start running tests. See [1] and
[2].

1. https://lore.kernel.org/git/211122.86ee78yxts.gmgdl@evledraar.gmail.com/
2. https://lore.kernel.org/git/211123.86ilwjujmd.gmgdl@evledraar.gmail.com/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
.github/workflows/main.yml
ci/run-build-and-tests.sh