Subject: [PATCH v2 1/8] travis-ci: use 'set -x' in select 'ci/*' scripts for extra tracing

From: SZEDER Gábor <[email-masked]>
Date: Sat, 16 Dec 2017 13:54:18 +0100

While the build logic was embedded in our '.travis.yml', Travis CI
used to produce a nice trace log including all commands executed in
those embedded scriptlets.  Since 657343a60 (travis-ci: move Travis CI
code into dedicated scripts, 2017-09-10), however, we only see the
name of the dedicated scripts, but not what those scripts are actually
doing, resulting in a less useful trace log about e.g. installing
dependencies.  A patch later in this series will move setting
environment variables from '.travis.yml' to 'ci/lib-travisci.sh', so
not even those will be included in the trace log.  Unrelated to
657343a60, 'ci/test-documentation.sh' runs a bunch of 'test -s <file>'
checks which would fail quietly if something were wrong, leaving no
clue about which one of those checks triggered the failure.

Use 'set -x' in 'ci/lib-travisci.sh' to get more detailed trace log
about the commands executed in the 'ci/*' scripts.  Use it in
'ci/run-linux32-build.sh' as well, which is run in a Docker container
and therefore doesn't source 'ci/lib-travisci.sh'.  The secret token
used for the Windows builds is specified as an encrypted environment
variable in git/git repository settings on Travis CI and it's redacted
in the trace logs even with 'set -x'.  However, disable this tracing
in 'ci/print-test-failures.sh', as it produces far too much noise in
the output of that script.

Signed-off-by: SZEDER Gábor <[email-masked]>
---
 ci/lib-travisci.sh        | 6 ++++--
 ci/print-test-failures.sh | 3 +++
 ci/run-linux32-build.sh   | 2 ++
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ci/lib-travisci.sh b/ci/lib-travisci.sh
index ac05f1f46..2d0d1d613 100755
--- a/ci/lib-travisci.sh
+++ b/ci/lib-travisci.sh
@@ -22,8 +22,10 @@ skip_branch_tip_with_tag () {
 }
 
 # Set 'exit on error' for all CI scripts to let the caller know that
-# something went wrong
-set -e
+# something went wrong.
+# Set tracing executed commands, primarily setting environment variables
+# and installing dependencies.
+set -ex
 
 skip_branch_tip_with_tag
 
diff --git a/ci/print-test-failures.sh b/ci/print-test-failures.sh
index 8c8973cbf..f757e616c 100755
--- a/ci/print-test-failures.sh
+++ b/ci/print-test-failures.sh
@@ -5,6 +5,9 @@
 
 . ${0%/*}/lib-travisci.sh
 
+# Tracing executed commands would produce too much noise in this script.
+set +x
+
 for TEST_EXIT in t/test-results/*.exit
 do
 	if [ "$(cat "$TEST_EXIT")" != "0" ]
diff --git a/ci/run-linux32-build.sh b/ci/run-linux32-build.sh
index e30fb2cdd..a8518eddf 100755
--- a/ci/run-linux32-build.sh
+++ b/ci/run-linux32-build.sh
@@ -6,6 +6,8 @@
 #   run-linux32-build.sh [host-user-id]
 #
 
+set -x
+
 # Update packages to the latest available versions
 linux32 --32bit i386 sh -c '
     apt update >/dev/null &&
-- 
2.15.1.429.ga000dd9c7