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@xxxxxxxxx> > --- > 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 >