git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/4] travis-ci: use 'set -x' in 'ci/*' scripts for extra tracing output

From
SZEDER Gábor <szeder.dev@gmail.com>
Date
Dec 12, 2017, 18:43 UTC
Message-ID
<CAM0VKjkVw8QeDErDg9aXcQ1sAgY34eBEeA0QJGamvEEBOG8y9w@mail.gmail.com>
In-Reply-To
<9AAC2BCC-AA06-46F9-8E6E-1D99CD959FDD@gmail.com>

On Tue, Dec 12, 2017 at 7:00 PM, Lars Schneider <larsxschneider@gmail.com> wrote:

Show 20 quoted lines
>
>> On 12 Dec 2017, at 00:34, SZEDER Gábor <szeder.dev@gmail.com> wrote:
>>
>> 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.  A patch later in this
>> series will move setting environment variables from '.travis.yml' to
>> the 'ci/*' scripts, so not even those will be included in the trace
>> log.
>>
>> Use 'set -x' in 'ci/lib-travisci.sh', which is sourced in most other
>> 'ci/*' scripts, so we get trace log about the commands executed in all
>> of those scripts.
>
> I kind of did that intentionally to avoid clutter in the logs.
> However, I also agree with your reasoning. Therefore, the change
> looks good to me!
Great, 'cause I'm starting to have second thoughts about this change :)

It sure helped a lot while I worked on this patch series and a couple of other Travis CI related patches (will submit them later)... OTOH it definitely creates clutter in the trace log. The worst offender might be 'ci/print-test-failures.sh', which iterates over all 't/test-results/*.exit' files to find which tests failed and to show their output, and 'set -x' makes every iteration visible. And we have about 800 tests, which means 800 iterations. Yuck.

Perhaps we should use other means to show what's going on instead, e.g. use more 'echo's and '--verbose' options, or just avoid using '--quiet'. And if some brave souls really want to tweak '.travis.yml' or the 'ci/*' scripts, then they can set 'set -x' for themselves during development... as the patch below shows it's easy enough, just a single character :)

Gábor
Show 23 quoted lines
>>
>> Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
>> ---
>> ci/lib-travisci.sh | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/ci/lib-travisci.sh b/ci/lib-travisci.sh
>> index ac05f1f46..a0c8ae03f 100755
>> --- a/ci/lib-travisci.sh
>> +++ b/ci/lib-travisci.sh
>> @@ -23,7 +23,7 @@ skip_branch_tip_with_tag () {
>>
>> # Set 'exit on error' for all CI scripts to let the caller know that
>> # something went wrong
>> -set -e
>> +set -ex
>>
>> skip_branch_tip_with_tag
>>
>> --
>> 2.15.1.421.gc469ca1de
>>
>
Previous: Lars SchneiderNext: Lars Schneider
Message 5 of 44 in “travis-ci: fix running P4 and Git LFS tests in Linux build jobs”
  1. travis-ci: fix running P4 and Git LFS tests in Linux build jobsSZEDER Gábor, Nov 1, 2017
  2. 0/4 travis-ci: clean up setting environment variablesSZEDER Gábor, Dec 11, 2017
  3. 1/4 travis-ci: use 'set -x' in 'ci/*' scripts for extra tracing outputSZEDER Gábor, Dec 11, 2017
  4. Lars SchneiderDec 12, 2017
  5. SZEDER GáborDec 12, 2017
  6. Lars SchneiderDec 13, 2017
  7. SZEDER GáborDec 14, 2017
  8. Johannes SchindelinDec 15, 2017
  9. SZEDER GáborDec 15, 2017
  10. Johannes SchindelinDec 15, 2017
  11. 2/4 travis-ci: introduce a $jobname variable for 'ci/*' scriptsSZEDER Gábor, Dec 11, 2017
  12. 3/4 travis-ci: move setting environment variables to 'ci/lib-travisci.sh'SZEDER Gábor, Dec 11, 2017
  13. 4/4 travis-ci: set GIT_TEST_HTTPD in 'ci/lib-travisci.sh'SZEDER Gábor, Dec 11, 2017
  14. 0/8 Travis CI cleanupsSZEDER Gábor, Dec 16, 2017
  15. 1/8 travis-ci: use 'set -x' in select 'ci/*' scripts for extra tracingSZEDER Gábor, Dec 16, 2017
  16. 2/8 travis-ci: introduce a $jobname variable for 'ci/*' scriptsSZEDER Gábor, Dec 16, 2017
  17. 3/8 travis-ci: move setting environment variables to 'ci/lib-travisci.sh'SZEDER Gábor, Dec 16, 2017
  18. 4/8 travis-ci: set GIT_TEST_HTTPD in 'ci/lib-travisci.sh'SZEDER Gábor, Dec 16, 2017
  19. 5/8 travis-ci: don't install default addon packages for the 32 bit Linux buildSZEDER Gábor, Dec 16, 2017
  20. 6/8 travis-ci: don't install 'language-pack-is' packageSZEDER Gábor, Dec 16, 2017
  21. Lars SchneiderDec 18, 2017
  22. SZEDER GáborDec 18, 2017
  23. Lars SchneiderDec 18, 2017
  24. Junio C HamanoDec 18, 2017
  25. SZEDER GáborDec 19, 2017
  26. 7/8 travis-ci: save prove state for the 32 bit Linux buildSZEDER Gábor, Dec 16, 2017
  27. 8/8 travis-ci: only print test failures if there are test results availableSZEDER Gábor, Dec 16, 2017
  28. Eric SunshineDec 16, 2017
  29. SZEDER GáborDec 16, 2017
  30. Eric SunshineDec 17, 2017
  31. Johannes SchindelinDec 16, 2017
  32. Lars SchneiderDec 18, 2017
  33. Lars SchneiderDec 18, 2017
  34. 0/4 Rest of the Travis CI fixesSZEDER Gábor, Dec 27, 2017
  35. 1/4 travis-ci: fine tune the use of 'set -x' in 'ci/*' scriptsSZEDER Gábor, Dec 27, 2017
  36. Lars SchneiderDec 27, 2017
  37. 2/4 travis-ci: don't install default addon packages for the 32 bit Linux buildSZEDER Gábor, Dec 27, 2017
  38. Lars SchneiderDec 27, 2017
  39. 3/4 travis-ci: save prove state for the 32 bit Linux buildSZEDER Gábor, Dec 27, 2017
  40. Lars SchneiderDec 27, 2017
  41. SZEDER GáborDec 27, 2017
  42. Lars SchneiderDec 28, 2017
  43. 4/4 travis-ci: only print test failures if there are test results availableSZEDER Gábor, Dec 27, 2017
  44. Lars SchneiderDec 27, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.