SZEDER Gábor wrote:
I expected that this will eventually happen after Travis CI's default
Linux image recently changed from Ubuntu 14.04 to 16.04; explanation
in the commit message below.
With that patch issues like this could be caught earlier, while they
are only in 'pu' but not yet in 'next'. But do we really want to do
that, is that the right tradeoff? Dunno... Adding a dedicated CI job
just to check that there are no 'for' loop initial declarations seems
kind of excessive, even if it only builds but doesn't run the test
suite. And I don't know whether there are any other undesired ("too
new") constructs that GCC 4.8 would catch but later compilers quietly
accept.
This makes sense to me. Not really for the 'for' loop declaration
aspect: for that, I'd want some more specialized tool that allows
turning on such a check specifically. But more because Ubuntu trusty
is still a platform that some people use (though hopefully not for
long), so it's helpful as a representative old platform to see if we
break the build on it.
[...]
[2] On Travis CI 'make test' alone would take about 9 minutes in this
new job (without running httpd, Subversion, and P4 tests). For
comparison, starting the job and building Git with GCC 4.8 takes
only about 2 minutes.
Nice. In an ideal world there would be some kind of "make fasttest"
that runs some fast subset of tests. But this seems pretty safe.
Signed-off-by: SZEDER Gábor <redacted>
---
.travis.yml | 4 ++++
ci/run-build-and-tests.sh | 17 +++++++++++++----
2 files changed, 17 insertions(+), 4 deletions(-)
Thanks.
[...]
quoted hunk ↗ jump to hunk
--- a/ci/run-build-and-tests.sh
+++ b/ci/run-build-and-tests.sh
@@ -11,9 +11,9 @@ windows*) cmd //c mklink //j t\\.prove "$(cygpath -aw "$cache_dir/.prove")";;
esac
make
-make test
-if test "$jobname" = "linux-gcc"
-then
+case "$jobname" in
+linux-gcc)
+ make test
export GIT_TEST_SPLIT_INDEX=yes
export GIT_TEST_FULL_IN_PACK_ARRAY=true
export GIT_TEST_OE_SIZE=10
@@ -21,7 +21,16 @@ then
export GIT_TEST_COMMIT_GRAPH=1
export GIT_TEST_MULTI_PACK_INDEX=1
make test
-fi
+ ;;
+linux-gcc-4.8)
+ # Don't run the tests; we only care about whether Git can be
+ # built with GCC 4.8, as it errors out on some undesired (C99)
+ # constructs that newer compilers seem to quietly accept.
+ ;;
+*)
+ make test
+ ;;
+esac
Does what it says on the tin.
Reviewed-by: Jonathan Nieder <redacted>