git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Victoria Dye <vdye@github.com>
Cc: git@vger.kernel.org, "Junio C Hamano" <gitster@pobox.com>,
	"Johannes Schindelin" <johannes.schindelin@gmx.de>,
	"SZEDER Gábor" <szeder.dev@gmail.com>
Subject: Re: [PATCH 1/2] CI: use shorter names that fit in UX tooltips
Date: Sat, 20 Nov 2021 03:51:55 +0100	[thread overview]
Message-ID: <211120.86r1bb1q5a.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <8efbd4bd-09bc-eabd-37ea-53501f75f8a6@github.com>


On Fri, Nov 19 2021, Victoria Dye wrote:

> Ævar Arnfjörð Bjarmason wrote:
>> 
>> On Fri, Nov 19 2021, Victoria Dye wrote:
>> 
>>> Ævar Arnfjörð Bjarmason wrote:
>>>> Change the names used for the GitHub CI workflows to be short enough
>>>> to (mostly) fit in the pop-up tool-tips that GitHub shows in the
>>>> commit view. I.e. when mouse-clicking on the passing or failing
>>>> check-mark next to the commit subject.
>>>>
>>>> That description is truncated to 24 characters, with the 3 at the end
>>>> being placed by "...".
>>>>
>>>> E.g. the full job name (visible at [1]):
>>>>
>>>>     "regular (linux-gcc-default, gcc, ubuntu-latest)"
>>>>
>>>> Will, when shown in the tool-tip be truncated to:
>>>>
>>>>     "CI/PR / regular (linu..."
>>>>
>>>> There's then a further limit in the expanded view where the job names
>>>> are observably truncated to 44 characters (including "..."). I.e.:
>>>>
>>>>     "regular (linux-gcc-default, gcc, ubuntu-l..."
>>>>
>>>
>>> Tooltips like the ones you've pointed out here appear intended to be an "at
>>> a glance" view of the jobs (mostly for showing pass/fail/skip status) - each
>>> job in the tooltip has a "Details" link that takes you to the job summary
>>> and logs. In the current state, although the names of the are truncated in
>>> the tooltip, the information is still easily accessible in the full workflow
>>> details (one click away). For example, the details for the "linux-leaks" job
>>> [1] tell me the image, compiler, and job name right at the top of the page.
>>>
>>> [1] https://github.com/git/git/runs/4214606314?check_suite_focus=true
>>>
>>>> With this change we shorten both the job names, and change the
>>>> top-level "name" from "CI/PR" to "CI", since it will be used as a
>>>> prefix in the tooltips. We also remove redundant or superfluous
>>>> information from the name, e.g. "ubuntu-latest" isn't really needed
>>>> for "linux-leaks", it'll suffice to say linux. For discovering what
>>>> image runs that specifically we can consult main.yml itself.
>>>>
>>>
>>> By optimizing for the tooltip, this patch shortens names to the point that
>>> they're more difficult to interpret (w32 vs. w32/VS) and/or removes valuable
>>> context about platform/image/etc. When a user *does* want more information
>>> on the job, they now have to: 
>>>
>>> 1) know that the "CI/PR" job definition is in ".github/workflows/main.yml"
>>> 2) parse through the file to find the job they want
>>> 3) correlate that back to the job in the workflow details they're
>>>    investigating. 
>>>
>>> That's a strictly worse experience for an extremely common use-case. What
>>> use-case is this patch attempting to improve?
>> 
>> That I can click on the button that your co-workers implemented and see
>> the relevant information about the job :)
>> 
>
> I'm sure you meant this in good faith, but I don't see how where I work is
> relevant. GitHub is a tool you can use to develop Git, and I'm reviewing
> because this patch would affect how I work on Git.

Yes, sorry. That came off as quite snarky, it was just meant as a lame
joke.

>> Given that it's truncated we need to pick and choose what we display if
>> we're not going to force the user to have to go to the full view every
>> time.
>> 
>
> This is what I wanted to dig into by asking for a use-case. Which users do
> you expect are using this tooltip view so heavily that what's displayed
> there justifies this change? If you're one of those users, then waiting for
> more feedback on this patch will hopefully provide a better idea of what the
> "average" user finds helpful.

Will improve the description etc. in a re-roll.

>> I'll change s/w32/win/ etc, and there's room to move stuff around here,
>> but I think it's fine to just not display that it's e.g. "ubuntu" or
>> "fedora" at all. That's almost never been relevant.
>> 
>> If we were trying to do the opposite and lengthen the names to shove
>> every bit of useful information in there at a glance I can think of 5-10
>> things we'd put there before "fedora". libc/version, compiler/version,
>> kernel/version etc.
>> 
>
> I'm sure there's plenty of information that would be helpful to have there;
> however, that's not really a justification for removing some of what we
> already have.

I'll retain more information in an incoming re-roll.

>> Whether it's a recent Gentoo or Ubuntu is something that's OK to omit.
>> 
>> But maybe I'm wrong, are there cases you can think of where we really
>> need "ubuntu" or "fedora" etc.?
>> 
>
> Yes, absolutely - knowing that `fedora-latest` was the image used in the
> failing builds for v2.34.0-rc1 led to learning that the image was updated
> the day before the build failed, which was instrumental in quickly
> identifying the root cause of the bug [1]. In that case, I got the
> information to start debugging from the web UI, *not* from digging into
> `main.yml`. 
>
> In general, easily finding what image a CI job was built on can help with
> investigating bugs that arise from environmental differences. It's a minor
> quality-of-life improvement, but it's no less significant than the benefit
> you're suggesting this patch provides.
>
> [1] https://lore.kernel.org/git/pull.1072.git.1635990465854.gitgitgadget@gmail.com/

I thought that case was a good example of us creating a problem for
ourselves that we didn't need to have. as I noted downthread in:
https://lore.kernel.org/git/211104.86v918i78r.gmgdl@evledraar.gmail.com/

I.e. the "fedora" part didn't actually matter, it just so happened that
fedora had a relatively recent glibc/gcc, and when it was updated from
under us CI runs all over the place started failing.

Which is an issue that's entirely avoidable by pinning the dependency,
and not using *-latest.

In general I really don't see why who deploys software anywhere thinks
using this pattern of fluid dependencies is worth the hassle. It's
rather trivial to just run a cron script that bumps your dependencies,
commits and pushes.

It's not at all trivial to take software that downloads whatever
someone's random website has available at the moment and try to figure
out what state it was in last week, month or year when the state of that
third party website wasn't what it was today.

Anyway, I take your general point that these image names (or a derived
name) may be useful to someone somewhere.

I just thought this example was a bad one, because the only reason the
image name or update would have been unclear to anyone (as it was to me
when my CI started breaking due to this) is because we're using this
anti-pattern.

  reply	other threads:[~2021-11-20  3:07 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-19 13:56 [PATCH 0/2] CI: use shorter names for CI jobs, less truncation Ævar Arnfjörð Bjarmason
2021-11-19 13:56 ` [PATCH 1/2] CI: use shorter names that fit in UX tooltips Ævar Arnfjörð Bjarmason
2021-11-19 14:58   ` Johannes Schindelin
2021-11-19 20:39     ` Ævar Arnfjörð Bjarmason
2021-11-19 16:02   ` Victoria Dye
2021-11-19 20:33     ` Ævar Arnfjörð Bjarmason
2021-11-19 21:55       ` Victoria Dye
2021-11-20  2:51         ` Ævar Arnfjörð Bjarmason [this message]
2021-11-19 22:14     ` Junio C Hamano
2021-11-19 13:56 ` [PATCH 2/2] CI: rename the "Linux32" job to lower-case "linux32" Ævar Arnfjörð Bjarmason
2021-11-19 14:57   ` Jeff King
2021-11-19 15:03 ` [PATCH 0/2] CI: use shorter names for CI jobs, less truncation Jeff King
2021-11-19 19:57 ` Junio C Hamano
2021-11-19 20:48   ` Ævar Arnfjörð Bjarmason
2021-11-20  3:28 ` [PATCH v2 0/6] CI: Remove Travis CI, shorten names for GH tooltips, split jobs Ævar Arnfjörð Bjarmason
2021-11-20  3:28   ` [PATCH v2 1/6] CI: remove Travis CI support Ævar Arnfjörð Bjarmason
2021-11-20  3:28   ` [PATCH v2 2/6] CI: use shorter names that fit in UX tooltips Ævar Arnfjörð Bjarmason
2021-11-20  7:01     ` Victoria Dye
2021-11-20  3:28   ` [PATCH v2 3/6] CI: rename the "Linux32" job to lower-case "linux32" Ævar Arnfjörð Bjarmason
2021-11-20  3:28   ` [PATCH v2 4/6] CI: use "$runs_on_pool", not "$jobname" to select packages & config Ævar Arnfjörð Bjarmason
2021-11-20  3:28   ` [PATCH v2 5/6] CI: don't run "make test" twice in one job Ævar Arnfjörð Bjarmason
2021-11-20  3:28   ` [PATCH v2 6/6] CI: run "documentation" via run-build-and-test.sh Ævar Arnfjörð Bjarmason
2021-11-20  8:05   ` [PATCH v2 0/6] CI: Remove Travis CI, shorten names for GH tooltips, split jobs Johannes Schindelin
2021-11-20 12:14     ` Ævar Arnfjörð Bjarmason
2021-11-20 12:10   ` [PATCH v3 0/5] " Ævar Arnfjörð Bjarmason
2021-11-20 12:10     ` [PATCH v3 1/5] CI: remove Travis CI support Ævar Arnfjörð Bjarmason
2021-11-20 12:10     ` [PATCH v3 2/5] CI: use shorter names that fit in UX tooltips Ævar Arnfjörð Bjarmason
2021-11-20 19:06       ` Victoria Dye
2021-11-20 12:10     ` [PATCH v3 3/5] CI: rename the "Linux32" job to lower-case "linux32" Ævar Arnfjörð Bjarmason
2021-11-20 12:10     ` [PATCH v3 4/5] CI: use "$runs_on_pool", not "$jobname" to select packages & config Ævar Arnfjörð Bjarmason
2021-11-21  7:21       ` Junio C Hamano
2021-11-20 12:10     ` [PATCH v3 5/5] CI: don't run "make test" twice in one job Ævar Arnfjörð Bjarmason
2021-11-23 16:29     ` [PATCH v4 0/5] CI: Remove Travis CI, shorten names for GH tooltips, split jobs Ævar Arnfjörð Bjarmason
2021-11-23 16:29       ` [PATCH v4 1/5] CI: remove Travis CI support Ævar Arnfjörð Bjarmason
2021-11-23 16:29       ` [PATCH v4 2/5] CI: use shorter names that fit in UX tooltips Ævar Arnfjörð Bjarmason
2021-11-23 16:29       ` [PATCH v4 3/5] CI: rename the "Linux32" job to lower-case "linux32" Ævar Arnfjörð Bjarmason
2021-11-23 16:29       ` [PATCH v4 4/5] CI: use "$runs_on_pool", not "$jobname" to select packages & config Ævar Arnfjörð Bjarmason
2021-11-23 16:29       ` [PATCH v4 5/5] CI: don't run "make test" twice in one job Ævar Arnfjörð Bjarmason

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=211120.86r1bb1q5a.gmgdl@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=johannes.schindelin@gmx.de \
    --cc=szeder.dev@gmail.com \
    --cc=vdye@github.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).