travis-ci: use 'set -e' in the 32 bit Linux build job
commit04d47e969a1fb952baffbd12a1a0dd2dc6cd2746
authorSZEDER Gábor <szeder.dev@gmail.com>
Mon, 29 Jan 2018 17:17:10 +0000 (29 18:17 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 30 Jan 2018 21:27:18 +0000 (30 13:27 -0800)
tree0236e99e1f6510aefb923044a6d6643990721f58
parentf63b12392aa16a8a7a68900afa906b0382345aad
travis-ci: use 'set -e' in the 32 bit Linux build job

The script 'ci/run-linux32-build.sh' running inside the Docker
container of the 32 bit Linux build job uses an && chain to break the
build if one of the commands fails.  This is problematic for two
reasons:

  - The && chain is broken, because there is this in the middle:

    test -z $HOST_UID || (CI_USER="ci" && useradd -u $HOST_UID $CI_USER) &&

    Luckily it is broken in a way that it didn't lead to false
    successes.  If installing dependencies fails, then the rest of the
    first && chain is skipped and execution resumes  after the ||
    operator.  At that point $HOST_UID is still unset, causing
    'useradd' to error out with "invalid user ID 'ci'", which in turn
    causes the second && chain to abort the script and thus break the
    build.

  - All other 'ci/*' scripts use 'set -e' to break the build if one of
    the commands fails.  This inconsistency among these scripts is
    asking for trouble: I forgot about the && chain more than once
    while working on this patch series.

Enable 'set -e' for the whole script and for the commands executed
under 'su' as well.

While touching every line in the 'su' command block anyway, change
their indentation to use a tab instead of spaces.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
ci/run-linux32-build.sh