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

Re: [PATCH 0/2] CI: use shorter names for CI jobs, less truncation

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Nov 19, 2021, 20:48 UTC
Message-ID
<211119.864k873lv8.gmgdl@evledraar.gmail.com>
In-Reply-To
<xmqqbl2fq5oa.fsf@gitster.g>
On Fri, Nov 19 2021, Junio C Hamano wrote:
Show 16 quoted lines
> Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
>
>> This changes the names used in GitHub CI to be shorter, because the
>> current ones are so long that they overflow the pop-up tooltips in the
>> GitHub UI.
>>
>> New pop-up visible at: https://github.com/avar/git/tree/avar/ci-shorter-names
>>
>> Full CI run at (currently pending, I had a trivial last-minute
>> update):
>> https://github.com/avar/git/runs/4264929546?check_suite_focus=true
>
> I have found the labels on "Jobs" on the left hand side pane
> irritatingly unhelpful.  For example, "regular (linux-gcc-default,
> gcc..."  does not tell me much about how it is different from
> "regular (linux-gcc, gcc, ubunt...".
Yeah, I've needed to look it up most times..
> The question I ask most often is "which one of these ones is the job
> that runs tests twice, the second time with nonstandard settings?",
> or "Only windows-test(4) is failing, but not vs-test(4); what area
> did we break?  What is in (4)?".

Because I had to look: It's a splitting method Johannes came up with, first stat() all the tests, sort by size, then chunk them up, and use the Nth as a way of dividing those chunks.

Maybe he feels strongly about it, but I think a better approach is just to hardcode t0xxx, t1xxx or whatever, then if one is unusually slow have a t1[0-4]xx & t1[5-9]xx or whatever, I.e. just manually partition them as a one-off.

These jobs take ~30m anyway, so if one is a tad slower than another it doesn't really matter as much as seeing at a glance where in the test suite the failure is.

I nicely split these all up in a follow-up, along with removing the travis CI, but anticipated the usual objections about too much of a scatterbrain series.

But yeah, I think all of that would be great to have, I can submit that as a v2, sound goood?

AFAICT the whole "stick this all into one job" way of doing the GIT_TEST_* CI is a workaround for some Travis-specific thing.

Or a micro-optimization for trying to max out our total CPU time, but anyway it doesn't seem worth it. By far most of the time is spent in the tests themselves, not the build.

A WIP split I had of this, e.g. there's a linux-sha256 job, linux-TEST-vars for the big GIT_TEST_* accumulation etc: https://github.com/avar/git/runs/4265312207?check_suite_focus=true

We could (and I'd like to..., but not now) cache the build directory between runs. Much faster compilations, and if it breaks, well then our Makefile dependencies are broken, which is also nice to spot in CI (and the cachewillexpire) ...

> I do not think relabelling "windows" -> "w32" (why not "win", by the
> way?), "vs" -> "w32/VS", or "regular (\(.*\))" -> "\1" helps me very
> much in these questions.  I however think the blame for it lies
> mostly on the original naming, not your effort in this series.
I'll pick "win" next time, as noted in some other follow-up replies.
Previous: Junio C HamanoNext: Ævar Arnfjörð Bjarmason
Message 14 of 38 in “CI: use shorter names for CI jobs, less truncation”
  1. 0/2 CI: use shorter names for CI jobs, less truncationÆvar Arnfjörð Bjarmason, Nov 19, 2021
  2. 1/2 CI: use shorter names that fit in UX tooltipsÆvar Arnfjörð Bjarmason, Nov 19, 2021
  3. Johannes SchindelinNov 19, 2021
  4. Ævar Arnfjörð BjarmasonNov 19, 2021
  5. Victoria DyeNov 19, 2021
  6. Ævar Arnfjörð BjarmasonNov 19, 2021
  7. Victoria DyeNov 19, 2021
  8. Ævar Arnfjörð BjarmasonNov 20, 2021
  9. Junio C HamanoNov 19, 2021
  10. 2/2 CI: rename the "Linux32" job to lower-case "linux32"Ævar Arnfjörð Bjarmason, Nov 19, 2021
  11. Jeff KingNov 19, 2021
  12. Jeff KingNov 19, 2021
  13. Junio C HamanoNov 19, 2021
  14. Ævar Arnfjörð BjarmasonNov 19, 2021
  15. 0/6 CI: Remove Travis CI, shorten names for GH tooltips, split jobsÆvar Arnfjörð Bjarmason, Nov 20, 2021
  16. 1/6 CI: remove Travis CI supportÆvar Arnfjörð Bjarmason, Nov 20, 2021
  17. 2/6 CI: use shorter names that fit in UX tooltipsÆvar Arnfjörð Bjarmason, Nov 20, 2021
  18. Victoria DyeNov 20, 2021
  19. 3/6 CI: rename the "Linux32" job to lower-case "linux32"Ævar Arnfjörð Bjarmason, Nov 20, 2021
  20. 4/6 CI: use "$runs_on_pool", not "$jobname" to select packages & configÆvar Arnfjörð Bjarmason, Nov 20, 2021
  21. 5/6 CI: don't run "make test" twice in one jobÆvar Arnfjörð Bjarmason, Nov 20, 2021
  22. 6/6 CI: run "documentation" via run-build-and-test.shÆvar Arnfjörð Bjarmason, Nov 20, 2021
  23. Johannes SchindelinNov 20, 2021
  24. Ævar Arnfjörð BjarmasonNov 20, 2021
  25. 0/5 CI: Remove Travis CI, shorten names for GH tooltips, split jobsÆvar Arnfjörð Bjarmason, Nov 20, 2021
  26. 1/5 CI: remove Travis CI supportÆvar Arnfjörð Bjarmason, Nov 20, 2021
  27. 2/5 CI: use shorter names that fit in UX tooltipsÆvar Arnfjörð Bjarmason, Nov 20, 2021
  28. Victoria DyeNov 20, 2021
  29. 5/5 CI: don't run "make test" twice in one jobÆvar Arnfjörð Bjarmason, Nov 20, 2021
  30. 4/5 CI: use "$runs_on_pool", not "$jobname" to select packages & configÆvar Arnfjörð Bjarmason, Nov 20, 2021
  31. Junio C HamanoNov 21, 2021
  32. 3/5 CI: rename the "Linux32" job to lower-case "linux32"Ævar Arnfjörð Bjarmason, Nov 20, 2021
  33. 0/5 CI: Remove Travis CI, shorten names for GH tooltips, split jobsÆvar Arnfjörð Bjarmason, Nov 23, 2021
  34. 1/5 CI: remove Travis CI supportÆvar Arnfjörð Bjarmason, Nov 23, 2021
  35. 2/5 CI: use shorter names that fit in UX tooltipsÆvar Arnfjörð Bjarmason, Nov 23, 2021
  36. 4/5 CI: use "$runs_on_pool", not "$jobname" to select packages & configÆvar Arnfjörð Bjarmason, Nov 23, 2021
  37. 3/5 CI: rename the "Linux32" job to lower-case "linux32"Ævar Arnfjörð Bjarmason, Nov 23, 2021
  38. 5/5 CI: don't run "make test" twice in one jobÆvar Arnfjörð Bjarmason, Nov 23, 2021

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.