Re: [PATCH] travis-ci: build Git during the 'script' phase
From: SZEDER Gábor <hidden>
Date: 2018-01-12 13:33:03
Possibly related (same subject, not in this thread)
- 2018-01-08 · [PATCH] travis-ci: build Git during the 'script' phase · SZEDER Gábor <hidden>
On Mon, Jan 8, 2018 at 11:38 PM, Lars Schneider [off-list ref] wrote:
quoted
On 08 Jan 2018, at 23:07, Junio C Hamano [off-list ref] wrote: SZEDER Gábor [off-list ref] writes:quoted
The reason why Travis CI does it this way and why it's a better approach than ours lies in how unsuccessful build jobs are categorized. ... ... This makes it easier, both for humans looking at the Travis CI web interface and for automated tools querying the Travis CI API,... ... A verbose commit message for such a change... but I don't know why we started with building Git in the 'before_script' phase.Thanks for writing it up clearly. TBH, I didn't even realize that there were meaningful distinctions between the two cases after seeing that sometimes our tests were failing and sometimes erroring ;-)I understand the reasons for the proposed patch. However, I did this intentionally back then. Here is my reason: If `make` is successful, then I am not interested in its output.
If 'prove' is successful, then I'm not interested in its output ;)
Look at this run: https://travis-ci.org/szeder/git/jobs/324271623 You have to scroll down 1,406 lines to get to the test result output (this is usually the interesting part).
That's the just beginning of a looong list of executed test scripts in seemingly pseudo-random order. IMHO that's very rarely the interesting part; I, for one, am only interested in that list in exceptional cases, e.g. while tweaking the build dependencies or the 'prove --state=...' options. These are the really interesting parts of the build job's output, the parts that do matter most of the time: # compiler error https://travis-ci.org/git/git/jobs/325252417#L1766 # which tests failed https://travis-ci.org/git/git/jobs/315658238#L2247 # stray build artifacts https://travis-ci.org/szeder/git/jobs/323531220#L2236 # (no example logs for erroring while installing dependencies, OSX # timeout, etc.) Note that these are all at the very end of the trace log, i.e. they are easily accessible by one or two keystrokes (depending on whether the keyboard has a dedicated 'End' key or requires an Fn combo), a vigorous drag of the scrollbar, or a click on the "Scroll to end of log" circle in the top right corner.
If this is a valid argument for you,
I'm unconvinced :)
would it be an option to pipe the verbose `make` output to a file and only print it in case of error (we do something similar for the tests already).
It's risky, because the build process would be completely silent for the duration of building Git. Travis CI considers a build 'errored' if it doesn't produce any output for 10 minutes. While building Git usually takes much less time, transient slowdowns apparently do occur. Gábor