diff options
author | SZEDER Gábor <szeder.dev@gmail.com> | 2018-01-29 18:17:10 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-01-30 13:27:18 -0800 |
commit | 04d47e969a1fb952baffbd12a1a0dd2dc6cd2746 (patch) | |
tree | 0236e99e1f6510aefb923044a6d6643990721f58 /Documentation/git-stash.txt | |
parent | travis-ci: use 'set -x' for the commands under 'su' in the 32 bit Linux build (diff) | |
download | tgif-04d47e969a1fb952baffbd12a1a0dd2dc6cd2746.tar.xz |
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>
Diffstat (limited to 'Documentation/git-stash.txt')
0 files changed, 0 insertions, 0 deletions