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

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

From
Victoria Dye <vdye@github.com>
Date
Nov 20, 2021, 07:01 UTC
Message-ID
<d9b07ca5-b58d-a535-d25b-85d7f12e6295@github.com>
In-Reply-To
<patch-v2-2.6-73981cedee8-20211120T030848Z-avarab@gmail.com>
Ævar Arnfjörð Bjarmason wrote:
Show 118 quoted lines
> 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.
> 
> These names are seemingly truncated to 17-20 characters followed by
> three dots ("..."). Since a "CI/PR / " prefix is added to them the job
> names looked like this before (windows-test and vs-test jobs omitted):
> 
>     CI/PR / ci-config (p...
>     CI/PR / windows-buil...
>     CI/PR / vs-build (pu...
>     CI/PR / regular (lin...
>     CI/PR / regular (lin...
>     CI/PR / regular (os...
>     CI/PR / regular (os...
>     CI/PR / regular (lin...
>     CI/PR / regular (lin...
>     CI/PR / dockerized (...
>     CI/PR / dockerized (...
>     CI/PR / dockerized (...
>     CI/PR / static-anal...
>     CI/PR / sparse (pu...
>     CI/PR / documenta...
> 
> By omitting the "/PR" from the top-level name, and pushing the
> $jobname to the front we'll now instead get:
> 
>     CI / config (push)
>     CI / win build (push...
>     CI / win+VS build (...
>     CI / linux-clang (ub...
>     CI / linux-gcc (ubun...
>     CI / osx-clang (osx)...
>     CI / osx-gcc (osx) (...
>     CI / linux-gcc-defau...
>     CI / linux-leaks (ub...
>     CI / linux-musl (alp...
>     CI / Linux32 (daald/...
>     CI / pedantic (fedor...
>     CI / static-analysis...
>     CI / sparse (push)...
>     CI / documentation
> 
> We then have no truncation in the expanded view. See [1] for how it
> looked before, [2] for a currently visible CI run using this commit,
> and [3] for the GitHub workflow syntax involved being changed here.
> 
> Let's also add a field for the "os" and use it where appropriate, it's
> occasionally useful to know we're running on say ubuntu
> v.s. fedora (but the "-latest" suffix isn't very useful, that applies
> to almost all the jobs.
> 
> 1. https://github.com/git/git/tree/master/
> 2. https://github.com/avar/git/tree/avar/ci-rm-travis-cleanup-ci-names-2
> 3. https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
> 
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
>  .github/workflows/main.yml | 16 +++++++++++++++-
>  README.md                  |  2 +-
>  2 files changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
> index 6ed6a9e8076..612b475fd0b 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: win 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: win 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: win+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: win+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}} (${{matrix.vector.os}})

The consequence of explicitly removing `-latest` (as you mentioned in the commit message) is the addition of the new `os` field just to remove that suffix (+renaming 'macos' to 'osx' to - I assume - save a bit more space).

Keeping the `-latest` doesn't really seem to hurt your goal of improving the tooltips, though; worst case, the `-latest` would be what's cut off in the tooltip. The main reason I bring this up is because I'd generally prefer reusing existing fields wherever possible - e.g. something like this:

    name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})

...which has the added benefits of 1) fully reflecting the agents used (potentially beneficial e.g., if we switched from `macos-latest` to `macos-10.15`) and 2) better matching the way you've set up the docker image-based jobs later on.

Show 58 quoted lines
>      needs: ci-config
>      if: needs.ci-config.outputs.enabled == 'yes'
>      strategy:
> @@ -218,21 +224,27 @@ jobs:
>          vector:
>            - jobname: linux-clang
>              cc: clang
> +            os: ubuntu
>              pool: ubuntu-latest
>            - jobname: linux-gcc
>              cc: gcc
> +            os: ubuntu
>              pool: ubuntu-latest
>            - jobname: osx-clang
>              cc: clang
> +            os: osx
>              pool: macos-latest
>            - jobname: osx-gcc
>              cc: gcc
> +            os: osx
>              pool: macos-latest
>            - jobname: linux-gcc-default
>              cc: gcc
> +            os: ubuntu
>              pool: ubuntu-latest
>            - jobname: linux-leaks
>              cc: gcc
> +            os: ubuntu
>              pool: ubuntu-latest
>      env:
>        CC: ${{matrix.vector.cc}}
> @@ -251,6 +263,7 @@ jobs:
>          name: failed-tests-${{matrix.vector.jobname}}
>          path: ${{env.FAILED_TEST_ARTIFACTS}}
>    dockerized:
> +    name: ${{matrix.vector.jobname}} (${{matrix.vector.image}})
>      needs: ci-config
>      if: needs.ci-config.outputs.enabled == 'yes'
>      strategy:
> @@ -310,6 +323,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
>  =========================================================
> 

Overall, I like the fact that platform info is retained in this version (while also managing to shorten names and/or make the non-truncated parts more helpful). Thank you for the update!

Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 18 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.