ci: make MAKEFLAGS available inside the Docker container in the Linux32 job
diff mbox series

Message ID 20200401212151.15164-1-szeder.dev@gmail.com
State New
Headers show
Series
  • ci: make MAKEFLAGS available inside the Docker container in the Linux32 job
Related show

Commit Message

SZEDER Gábor April 1, 2020, 9:21 p.m. UTC
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(+)

Comments

Junio C Hamano April 2, 2020, 5:03 p.m. UTC | #1
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.
Junio C Hamano April 2, 2020, 6:14 p.m. UTC | #2
Junio C Hamano <gitster@pobox.com> writes:

> 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.

Patch
diff mbox series

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" \