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 <johannes.schindelin@xxxxxx> --- 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