[PATCH v3 0/5] CI: Remove Travis CI, shorten names for GH tooltips, split jobs
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Nov 20, 2021, 12:10 UTC
- Message-ID
- <cover-v3-0.5-00000000000-20211120T115414Z-avarab@gmail.com>
- In-Reply-To
- <cover-v2-0.6-00000000000-20211120T030848Z-avarab@gmail.com>
An update to v3, now using the "pool" names instead of a new "os" field for the job names. Before (on master):
https://github.com/git/git/runs/4214600139
After:
https://github.com/avar/git/actions/runs/1484426823
I peeled of the last "doc" patch based on Johannes's feedback. As with the split-up TEST job we'll take more CPU time, but if we can run in parallel take less wallclock time, but it's not really worth it for the asciidoc/asciidoctor job with how long the install v.s. build/test step takes (b.t.w. there was no change to "check-docs" running in those jobs in v2).
1. https://lore.kernel.org/git/cover-v2-0.6-00000000000-20211120T030848Z-avarab@gmail.com/
Ævar Arnfjörð Bjarmason (5): 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
.github/workflows/main.yml | 26 ++++++++++++-- .travis.yml | 60 ------------------------------- README.md | 2 +- ci/install-dependencies.sh | 33 ++++++++--------- ci/install-docker-dependencies.sh | 2 +- ci/lib.sh | 60 ++++++++----------------------- ci/print-test-failures.sh | 10 ------ ci/run-build-and-tests.sh | 26 +++++++------- ci/run-docker-build.sh | 11 +----- ci/run-docker.sh | 4 +-- 10 files changed, 70 insertions(+), 164 deletions(-) delete mode 100644 .travis.yml
Range-diff against v2:
1: cc94a353ccb = 1: 96433bcc02f CI: remove Travis CI support
2: 73981cedee8 ! 2: b09cd076aeb CI: use shorter names that fit in UX tooltips
@@ Commit message
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.
+ Let's also use the existing "pool" field as before. It's occasionally
+ useful to know we're running on say ubuntu v.s. fedora. The "-latest"
+ suffix is useful to some[4], and since it's now at the end it doesn't
+ hurt readability in the short view compared to saying "ubuntu" or
+ "macos".
1. https://github.com/git/git/tree/master/
- 2. https://github.com/avar/git/tree/avar/ci-rm-travis-cleanup-ci-names-2
+ 2. https://github.com/avar/git/tree/avar/ci-rm-travis-cleanup-ci-names-3
3. https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
+ 3. https://lore.kernel.org/git/d9b07ca5-b58d-a535-d25b-85d7f12e6295@github.com/
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
@@ .github/workflows/main.yml: jobs:
name: failed-tests-windows
path: ${{env.FAILED_TEST_ARTIFACTS}}
regular:
-+ name: ${{matrix.vector.jobname}} (${{matrix.vector.os}})
++ name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})
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}}
3: 002c183fff4 = 3: fb1b0ecbadd CI: rename the "Linux32" job to lower-case "linux32"
4: eca0ad08d4b ! 4: 54913e775c1 CI: use "$runs_on_pool", not "$jobname" to select packages & config
@@ Commit message
## .github/workflows/main.yml ##
@@ .github/workflows/main.yml: jobs:
+ pool: ubuntu-latest
- jobname: linux-gcc
cc: gcc
- os: ubuntu
+ cc_package: gcc-8
pool: ubuntu-latest
- jobname: osx-clang
cc: clang
-@@ .github/workflows/main.yml: jobs:
+ pool: macos-latest
- jobname: osx-gcc
cc: gcc
- os: osx
+ cc_package: gcc-9
pool: macos-latest
- jobname: linux-gcc-default
5: a113b8404ed ! 5: 877f27d847c CI: don't run "make test" twice in one job
@@ Commit message
## .github/workflows/main.yml ##
@@ .github/workflows/main.yml: jobs:
+ - jobname: linux-clang
cc: clang
- os: ubuntu
pool: ubuntu-latest
+ - jobname: linux-sha256
+ cc: clang
@@ .github/workflows/main.yml: jobs:
+ pool: ubuntu-latest
- jobname: linux-gcc
cc: gcc
- os: ubuntu
cc_package: gcc-8
pool: ubuntu-latest
+ - jobname: linux-TEST-vars
@@ .github/workflows/main.yml: jobs:
+ pool: ubuntu-latest
- jobname: osx-clang
cc: clang
- os: osx
+ pool: macos-latest
## ci/run-build-and-tests.sh ##
@@ ci/run-build-and-tests.sh: windows*) cmd //c mklink //j t\\.prove "$(cygpath -aw "$cache_dir/.prove")";;
6: 7c423c8283d < -: ----------- CI: run "documentation" via run-build-and-test.sh-- 2.34.0.818.g0f23a581583