threads / patch / 53155

patchci: make MAKEFLAGS available inside the Docker container in the Linux32 job

Subject: [PATCH] ci: make MAKEFLAGS available inside the Docker container in the Linux32 job

## tl;dr

3 messages between Apr 1, 2020 and Apr 2, 2020. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

SZEDER Gábor· Apr 1, 2020, 21:21 UTC · lore

Once upon a time we ran 'make --jobs=2 ...' to build Git, its documentation, or to apply Coccinelle semantic patches. Then commit eaa62291ff (ci: inherit --jobs via MAKEFLAGS in run-build-and-tests, 2019-01-27) came along, and started using the MAKEFLAGS environment variable to centralize setting the number of parallel jobs in 'ci/libs.sh'. Alas, it forgot to update 'ci/run-linux32-docker.sh' to make MAKEFLAGS available inside the Docker container running the 32 bit Linux job, and, consequently, since then that job builds Git sequentially, and it ignores any Makefile knobs that we might set in MAKEFLAGS (though we don't set any for the 32 bit Linux job at the moment).

So update the 'docker run' invocation in 'ci/run-linux32-docker.sh' to make MAKEFLAGS available inside the Docker container as well. Set CC=gcc for the 32 bit Linux job, because that's the compiler installed in the 32 bit Linux Docker image that we use (Travis CI nowadays sets CC=clang by default, but clang is not installed in this image).

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
---

The 'dd/musl-libc-travis-ci' topic needs some more updates, and those will depend on this fix.

 ci/lib.sh                | 3 +++
 ci/run-linux32-docker.sh | 1 +
 2 files changed, 4 insertions(+)
Show changes to 2 files +4 −0

ci/lib.sh, ci/run-linux32-docker.sh

diff --git a/ci/lib.sh b/ci/lib.sh
index c3a8cd2104..d637825222 100755
--- a/ci/lib.sh
+++ b/ci/lib.sh
@@ -198,6 +198,9 @@ osx-clang|osx-gcc)
 GIT_TEST_GETTEXT_POISON)
 	export GIT_TEST_GETTEXT_POISON=true
 	;;
+Linux32)
+	CC=gcc
+	;;
 esac
 
 MAKEFLAGS="$MAKEFLAGS CC=${CC:-cc}"
diff --git a/ci/run-linux32-docker.sh b/ci/run-linux32-docker.sh
index 751acfcf8a..ebb18fa747 100755
--- a/ci/run-linux32-docker.sh
+++ b/ci/run-linux32-docker.sh
@@ -20,6 +20,7 @@ docker run \
 	--env GIT_PROVE_OPTS \
 	--env GIT_TEST_OPTS \
 	--env GIT_TEST_CLONE_2GB \
+	--env MAKEFLAGS \
 	--env cache_dir="$container_cache_dir" \
 	--volume "${PWD}:/usr/src/git" \
 	--volume "$cache_dir:$container_cache_dir" \
-- 
2.26.0.483.g160d1dcc28
Junio C Hamano· Apr 2, 2020, 17:03 UTC · re: SZEDER Gábor · lore

Re: [PATCH] ci: make MAKEFLAGS available inside the Docker container in the Linux32 job

SZEDER Gábor <szeder.dev@gmail.com> writes:
Show 23 quoted lines
> Once upon a time we ran 'make --jobs=2 ...' to build Git, its
> documentation, or to apply Coccinelle semantic patches.  Then commit
> eaa62291ff (ci: inherit --jobs via MAKEFLAGS in run-build-and-tests,
> 2019-01-27) came along, and started using the MAKEFLAGS environment
> variable to centralize setting the number of parallel jobs in
> 'ci/libs.sh'.  Alas, it forgot to update 'ci/run-linux32-docker.sh' to
> make MAKEFLAGS available inside the Docker container running the 32
> bit Linux job, and, consequently, since then that job builds Git
> sequentially, and it ignores any Makefile knobs that we might set in
> MAKEFLAGS (though we don't set any for the 32 bit Linux job at the
> moment).
>
> So update the 'docker run' invocation in 'ci/run-linux32-docker.sh' to
> make MAKEFLAGS available inside the Docker container as well.  Set
> CC=gcc for the 32 bit Linux job, because that's the compiler installed
> in the 32 bit Linux Docker image that we use (Travis CI nowadays sets
> CC=clang by default, but clang is not installed in this image).
>
> Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
> ---
>
> The 'dd/musl-libc-travis-ci' topic needs some more updates, and those
> will depend on this fix.

Thanks. I'll queue this on top of v2.26.0 so that others can be rebased on top of it.

Junio C Hamano· Apr 2, 2020, 18:14 UTC · re: Junio C Hamano · lore

Re: [PATCH] ci: make MAKEFLAGS available inside the Docker container in the Linux32 job

Junio C Hamano <gitster@pobox.com> writes:
Show 28 quoted lines
> SZEDER Gábor <szeder.dev@gmail.com> writes:
>
>> Once upon a time we ran 'make --jobs=2 ...' to build Git, its
>> documentation, or to apply Coccinelle semantic patches.  Then commit
>> eaa62291ff (ci: inherit --jobs via MAKEFLAGS in run-build-and-tests,
>> 2019-01-27) came along, and started using the MAKEFLAGS environment
>> variable to centralize setting the number of parallel jobs in
>> 'ci/libs.sh'.  Alas, it forgot to update 'ci/run-linux32-docker.sh' to
>> make MAKEFLAGS available inside the Docker container running the 32
>> bit Linux job, and, consequently, since then that job builds Git
>> sequentially, and it ignores any Makefile knobs that we might set in
>> MAKEFLAGS (though we don't set any for the 32 bit Linux job at the
>> moment).
>>
>> So update the 'docker run' invocation in 'ci/run-linux32-docker.sh' to
>> make MAKEFLAGS available inside the Docker container as well.  Set
>> CC=gcc for the 32 bit Linux job, because that's the compiler installed
>> in the 32 bit Linux Docker image that we use (Travis CI nowadays sets
>> CC=clang by default, but clang is not installed in this image).
>>
>> Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
>> ---
>>
>> The 'dd/musl-libc-travis-ci' topic needs some more updates, and those
>> will depend on this fix.
>
> Thanks.  I'll queue this on top of v2.26.0 so that others can be
> rebased on top of it.

Actually, the updated dd/ci-musl-libc has this at the bottom of the series, so I won't have a separate topic for this patch.

Thanks anyway.

← back to recent threads