Re: [PATCH] Travis: also test on 32-bit Linux
On Tue, Feb 28, 2017 at 11:17 AM, Johannes Schindelinwrote: > This patch > asks Travis CI to install a Docker image with 32-bit libraries and then > goes on to build and test Git using this 32-bit setup. > > A big thank you to Lars Schneider without whose help this patch would > not have happened. This has been in 'pu' for a few days, and https://travis-ci.org/git/git/builds shows that we have a new build job running successfully. Good job ;-) Thanks.
Re: [PATCH] Travis: also test on 32-bit Linux
Hi, On Tue, 28 Feb 2017, Johannes Schindelin wrote: > When Git v2.9.1 was released, it had a bug that showed only on Windows > and on 32-bit systems: our assumption that `unsigned long` can hold > 64-bit values turned out to be wrong. > > This could have been caught earlier if we had a Continuous Testing set > up that includes a build and test run on 32-bit Linux. > > Let's do this (and take care of the Windows build later). This patch > asks Travis CI to install a Docker image with 32-bit libraries and then > goes on to build and test Git using this 32-bit setup. For the record, I first tested this with the LONG_IS_32BIT flag forced to `true` so that the date tests must fail. They did fail as expected (search for "not ok" in this output): https://travis-ci.org/git/git/jobs/206199002 (I actually cannot see the log right now, Travis seems to be under heavy load...) A much cleaned up version that does not force that LONG_IS_32BIT produced this log: https://travis-ci.org/git/git/jobs/206228708 (Same here, my browser fails to load the log, probably because Travis experiences quite high a load...) Please note that this approach is not without problems. It would appear that Travis currently has serious problems to even *reach* the Docker Hub, and therefore cannot download the Docker image: https://travis-ci.org/git/git/jobs/206292947#L6 Ciao, Johannes
[PATCH] Travis: also test on 32-bit Linux
When Git v2.9.1 was released, it had a bug that showed only on Windows and on 32-bit systems: our assumption that `unsigned long` can hold 64-bit values turned out to be wrong. This could have been caught earlier if we had a Continuous Testing set up that includes a build and test run on 32-bit Linux. Let's do this (and take care of the Windows build later). This patch asks Travis CI to install a Docker image with 32-bit libraries and then goes on to build and test Git using this 32-bit setup. A big thank you to Lars Schneider without whose help this patch would not have happened. Signed-off-by: Johannes Schindelin--- Published-As: https://github.com/dscho/git/releases/tag/travis-32-bit-v1 Fetch-It-Via: git fetch https://github.com/dscho/git travis-32-bit-v1 .travis.yml | 11 +++ 1 file changed, 11 insertions(+) diff --git a/.travis.yml b/.travis.yml index 9c63c8c3f68..87d9e9051a6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,6 +39,17 @@ env: matrix: include: +- env: Linux32 + os: linux + compiler: clang + sudo: required + services: +- docker + before_install: +- docker pull daald/ubuntu32:xenial + before_script: + script: +- "sudo docker run -i -v \"${PWD}:/usr/src/git\" daald/ubuntu32:xenial /bin/bash -c \"linux32 --32bit i386 sh -c 'apt update && apt install -y build-essential libcurl4-openssl-dev libssl-dev libexpat-dev gettext python && cd /usr/src/git && DEFAULT_TEST_TARGET=prove GIT_PROVE_OPTS=\\\"--timer --jobs 3 --state=failed,slow,save\\\" GIT_TEST_OPTS=--verbose-log GIT_TEST_CLONE_2GB=YesPlease make -j2 test'\"" - env: Documentation os: linux compiler: clang base-commit: 3bc53220cb2dcf709f7a027a3f526befd021d858 -- 2.12.0.windows.1.3.g8a117c48243