Thread (34 messages) flat view 34 messages, 4 authors, 2021-11-23

Re: [PATCH 1/2] CI: use shorter names that fit in UX tooltips

From: Johannes Schindelin <hidden>
Date: 2021-11-19 14:58:38

Hi,

On Fri, 19 Nov 2021, Æ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..."

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.

The above "regular (linux-gcc-default, gcc, ubuntu-latest)" job name
then becomes a 1=1 match to the "$jobname" used in
"ci/run-build-and-tests.sh". A "( push" or " (pull_request" is then
added implicitly as before (from the top-level "on" parameter in
"main.yml"). In the tooltip we'll now show:

    "CI / linux-leaks (pu..."

We then have no truncation in the expanded view. See [2] for a
currently visible CI run using this commit, and [3] for the GitHub
workflow syntax involved being changed here.

We could avoid even more truncation with more compact names,
e.g. changing "linux" to "lin" or "lnx", but I didn't do that since
any additional shortening seemed counterproductive, i.e. "w32" is a
well-known way of referring to "Windows", but "lin" isn't). We could
also shorten e.g. "::build" and "::test" to "+bld" and "+tst", but
those seem similarly to be overly obtuse.

1. https://github.com/git/git/tree/master/
2. https://github.com/avar/git/tree/avar/ci-shorter-names
3. https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
My vote is to drop this patch: it does a lot of things, but I do not see
any benefit. Names that are too long in one person's setup are not too
long in another one's.

Also, it drops the "PR" as if we would not do PR builds at all anymore
("CI" is for "Continuous Integration", i.e. the testing of the current
`main` branch).

And `w32`? Really? *Really*?

Ciao,
Johannes
quoted hunk ↗ jump to hunk
---
 .github/workflows/main.yml | 13 ++++++++++++-
 README.md                  |  2 +-
 2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 6ed6a9e8076..8f4caa8f040 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -1,4 +1,4 @@
-name: CI/PR
+name: CI

 on: [push, pull_request]
@@ -7,6 +7,7 @@ env:

 jobs:
   ci-config:
+    name: config
     runs-on: ubuntu-latest
     outputs:
       enabled: ${{ steps.check-ref.outputs.enabled }}${{ steps.skip-if-redundant.outputs.enabled }}
@@ -77,6 +78,7 @@ jobs:
             }

   windows-build:
+    name: w32::build
     needs: ci-config
     if: needs.ci-config.outputs.enabled == 'yes'
     runs-on: windows-latest
@@ -97,6 +99,7 @@ jobs:
         name: windows-artifacts
         path: artifacts
   windows-test:
+    name: w32::test
     runs-on: windows-latest
     needs: [windows-build]
     strategy:
@@ -127,6 +130,7 @@ jobs:
         name: failed-tests-windows
         path: ${{env.FAILED_TEST_ARTIFACTS}}
   vs-build:
+    name: w32/VS::build
     needs: ci-config
     if: needs.ci-config.outputs.enabled == 'yes'
     env:
@@ -178,6 +182,7 @@ jobs:
         name: vs-artifacts
         path: artifacts
   vs-test:
+    name: w32/VS::test
     runs-on: windows-latest
     needs: vs-build
     strategy:
@@ -210,6 +215,7 @@ jobs:
         name: failed-tests-windows
         path: ${{env.FAILED_TEST_ARTIFACTS}}
   regular:
+    name: ${{matrix.vector.jobname}}
     needs: ci-config
     if: needs.ci-config.outputs.enabled == 'yes'
     strategy:
@@ -251,6 +257,7 @@ jobs:
         name: failed-tests-${{matrix.vector.jobname}}
         path: ${{env.FAILED_TEST_ARTIFACTS}}
   dockerized:
+    name: ${{matrix.vector.jobname}} (docker)
     needs: ci-config
     if: needs.ci-config.outputs.enabled == 'yes'
     strategy:
@@ -258,10 +265,13 @@ jobs:
       matrix:
         vector:
         - jobname: linux-musl
+          os: alpine
           image: alpine
         - jobname: Linux32
+          os: ubuntu32
           image: daald/ubuntu32:xenial
         - jobname: pedantic
+          os: fedora
           image: fedora
     env:
       jobname: ${{matrix.vector.jobname}}
@@ -310,6 +320,7 @@ jobs:
       run: ci/install-dependencies.sh
     - run: make sparse
   documentation:
+    name: documentation
     needs: ci-config
     if: needs.ci-config.outputs.enabled == 'yes'
     env:
diff --git a/README.md b/README.md
index eb8115e6b04..f6f43e78deb 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[![Build status](https://github.com/git/git/workflows/CI/PR/badge.svg)](https://github.com/git/git/actions?query=branch%3Amaster+event%3Apush)
+[![Build status](https://github.com/git/git/workflows/CI/badge.svg)](https://github.com/git/git/actions?query=branch%3Amaster+event%3Apush)

 Git - fast, scalable, distributed revision control system
 =========================================================
--
2.34.0.823.g5753b56b5c1

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help