From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Johannes Schindelin" <johannes.schindelin@gmx.de>,
"SZEDER Gábor" <szeder.dev@gmail.com>,
"Victoria Dye" <vdye@github.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v2 0/6] CI: Remove Travis CI, shorten names for GH tooltips, split jobs
Date: Sat, 20 Nov 2021 04:28:30 +0100 [thread overview]
Message-ID: <cover-v2-0.6-00000000000-20211120T030848Z-avarab@gmail.com> (raw)
In-Reply-To: <cover-0.2-00000000000-20211119T135343Z-avarab@gmail.com>
I thought I'd submit a smaller change to just address the GitHub CI
name truncation in tooltips (now 2/6), but part of the feedback was
why we needed to update Travis CI code, and can't we split up the
"default" job etc.
So here's a larger series I'd initially peeled v1[1] from a WIP
version of.
The end-state is that the job names are shorter, and some are now
split up, before:
https://github.com/git/git/runs/4214600139
After:
https://github.com/avar/git/runs/4271369035
1. https://lore.kernel.org/git/cover-0.2-00000000000-20211119T135343Z-avarab@gmail.com/
Ævar Arnfjörð Bjarmason (6):
CI: remove Travis CI support
CI: use shorter names that fit in UX tooltips
CI: rename the "Linux32" job to lower-case "linux32"
CI: use "$runs_on_pool", not "$jobname" to select packages & config
CI: don't run "make test" twice in one job
CI: run "documentation" via run-build-and-test.sh
.github/workflows/main.yml | 44 ++++++++++++++++++++--
.travis.yml | 60 ------------------------------
README.md | 2 +-
ci/install-dependencies.sh | 35 ++++++++---------
ci/install-docker-dependencies.sh | 2 +-
ci/lib.sh | 62 ++++++++-----------------------
ci/print-test-failures.sh | 10 -----
ci/run-build-and-tests.sh | 47 +++++++++++++++--------
ci/run-docker-build.sh | 11 +-----
ci/run-docker.sh | 4 +-
ci/test-documentation.sh | 39 ++++++++-----------
11 files changed, 123 insertions(+), 193 deletions(-)
delete mode 100644 .travis.yml
Range-diff against v1:
-: ----------- > 1: cc94a353ccb CI: remove Travis CI support
1: 26f80c87c8d ! 2: 73981cedee8 CI: use shorter names that fit in UX tooltips
@@ Commit message
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.
+ 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-shorter-names
+ 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: jobs:
}
windows-build:
-+ name: w32::build
++ name: win build
needs: ci-config
if: needs.ci-config.outputs.enabled == 'yes'
runs-on: windows-latest
@@ .github/workflows/main.yml: jobs:
name: windows-artifacts
path: artifacts
windows-test:
-+ name: w32::test
++ name: win test
runs-on: windows-latest
needs: [windows-build]
strategy:
@@ .github/workflows/main.yml: jobs:
name: failed-tests-windows
path: ${{env.FAILED_TEST_ARTIFACTS}}
vs-build:
-+ name: w32/VS::build
++ name: win+VS build
needs: ci-config
if: needs.ci-config.outputs.enabled == 'yes'
env:
@@ .github/workflows/main.yml: jobs:
name: vs-artifacts
path: artifacts
vs-test:
-+ name: w32/VS::test
++ name: win+VS test
runs-on: windows-latest
needs: vs-build
strategy:
@@ .github/workflows/main.yml: jobs:
name: failed-tests-windows
path: ${{env.FAILED_TEST_ARTIFACTS}}
regular:
-+ name: ${{matrix.vector.jobname}}
++ name: ${{matrix.vector.jobname}} (${{matrix.vector.os}})
needs: ci-config
if: needs.ci-config.outputs.enabled == 'yes'
strategy:
+@@ .github/workflows/main.yml: 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}}
@@ .github/workflows/main.yml: jobs:
name: failed-tests-${{matrix.vector.jobname}}
path: ${{env.FAILED_TEST_ARTIFACTS}}
dockerized:
-+ name: ${{matrix.vector.jobname}} (docker)
++ name: ${{matrix.vector.jobname}} (${{matrix.vector.image}})
needs: ci-config
if: needs.ci-config.outputs.enabled == 'yes'
strategy:
-@@ .github/workflows/main.yml: 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}}
@@ .github/workflows/main.yml: jobs:
run: ci/install-dependencies.sh
- run: make sparse
2: 9b8a3f0cdc4 ! 3: 002c183fff4 CI: rename the "Linux32" job to lower-case "linux32"
@@ Commit message
## .github/workflows/main.yml ##
@@ .github/workflows/main.yml: jobs:
+ vector:
- jobname: linux-musl
- os: alpine
image: alpine
- - jobname: Linux32
+ - jobname: linux32
- os: ubuntu32
++ os: ubuntu32
image: daald/ubuntu32:xenial
- jobname: pedantic
-
- ## .travis.yml ##
-@@ .travis.yml: matrix:
- os: linux
- dist: trusty
- compiler:
-- - env: jobname=Linux32
-+ - env: jobname=linux32
- os: linux
- compiler:
- addons:
+ image: fedora
## ci/install-docker-dependencies.sh ##
@@
-: ----------- > 4: eca0ad08d4b CI: use "$runs_on_pool", not "$jobname" to select packages & config
-: ----------- > 5: a113b8404ed CI: don't run "make test" twice in one job
-: ----------- > 6: 7c423c8283d CI: run "documentation" via run-build-and-test.sh
--
2.34.0.823.gcc3243ae16c
next prev parent reply other threads:[~2021-11-20 3:28 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
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 ` Ævar Arnfjörð Bjarmason [this message]
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=cover-v2-0.6-00000000000-20211120T030848Z-avarab@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).