git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: Doan Tran Cong Danh <congdanhqx@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] ci: detect installed gcc in Travis CI
Date: Wed, 27 Nov 2019 17:48:20 +0100	[thread overview]
Message-ID: <20191127164820.GF23183@szeder.dev> (raw)
In-Reply-To: <20191127161555.26131-1-congdanhqx@gmail.com>

On Wed, Nov 27, 2019 at 11:15:55PM +0700, Doan Tran Cong Danh wrote:
> Travis CI has continously updated their images, including updating gcc
> installation.
> 
> Save us some headache by checking which version of gcc is installed in
> the image, and use said version to run the build.
> 
> While gcc-10 hasn't been released, yet, add it to the list to save us
> some headache in the future.
> 
> Signed-off-by: Doan Tran Cong Danh <congdanhqx@gmail.com>
> ---
>  ci/lib.sh | 24 ++++++++++++++----------
>  1 file changed, 14 insertions(+), 10 deletions(-)
> 
> diff --git a/ci/lib.sh b/ci/lib.sh
> index c8c2c38155..4040fc1a22 100755
> --- a/ci/lib.sh
> +++ b/ci/lib.sh
> @@ -159,12 +159,21 @@ export DEFAULT_TEST_TARGET=prove
>  export GIT_TEST_CLONE_2GB=YesPlease
>  
>  case "$jobname" in
> -linux-clang|linux-gcc)
> -	if [ "$jobname" = linux-gcc ]
> -	then
> -		export CC=gcc-8
> -	fi
> +*-gcc)
> +	for gitcc in gcc-10 gcc-9 gcc-8
> +	do
> +		if command -v $gitcc >/dev/null 2>&1
> +		then
> +			export CC=$gitcc
> +			break;
> +		fi
> +	done

This assummes that some of these gcc-<N> binaries can be found in
PATH, but that hasn't always been the case in the past: up until end
of last week Travis CI's xcode10.1 image came with GCC 8 pre-installed
but not linked and without GCC 9, i.e. neither 'gcc-8' nor 'gcc-9' was
available in PATH.  While now that image does have GCC 9 properly
installed, i.e. 'gcc-9' has been available in PATH for almost a week,
I wouldn't want to rely on that...

With your changes if none of the listed gcc-<N> binaries were
available in PATH, then we would silently build with the generic 'cc',
which is 'clang' on OSX, and that's definitely not what we want.

> +	unset gitcc
> +	;;
> +esac
>  
> +case "$jobname" in
> +linux-clang|linux-gcc)
>  	export GIT_TEST_HTTPD=true
>  
>  	# The Linux build installs the defined dependency versions below.
> @@ -180,11 +189,6 @@ linux-clang|linux-gcc)
>  	export PATH="$GIT_LFS_PATH:$P4_PATH:$PATH"
>  	;;
>  osx-clang|osx-gcc)
> -	if [ "$jobname" = osx-gcc ]
> -	then
> -		export CC=gcc-8
> -	fi
> -
>  	# t9810 occasionally fails on Travis CI OS X
>  	# t9816 occasionally fails with "TAP out of sequence errors" on
>  	# Travis CI OS X
> -- 
> 2.24.0.161.g2616cd003f.dirty
> 

  reply	other threads:[~2019-11-27 16:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-26  1:15 Travis OS X gcc job is broken (again) Denton Liu
2019-11-27 16:15 ` [PATCH] ci: detect installed gcc in Travis CI Doan Tran Cong Danh
2019-11-27 16:48   ` SZEDER Gábor [this message]
2019-11-28 12:03     ` Danh Doan
2019-11-28 12:33       ` SZEDER Gábor
2019-11-27 16:24 ` [PATCH] ci: build Git with GCC 9 in the 'osx-gcc' build job SZEDER Gábor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191127164820.GF23183@szeder.dev \
    --to=szeder.dev@gmail.com \
    --cc=congdanhqx@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).