From: Patrick Steinhardt Date: Fri, 10 Jan 2025 11:32:01 +0000 (+0100) Subject: github: simplify computation of the job's distro X-Git-Tag: v2.49.0-rc0~55^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b133d3071ae6c648aced1c40e12914cb6b2ccec9;p=thirdparty%2Fgit.git github: simplify computation of the job's distro We explicitly list the distro of Linux-based jobs, but it is equivalent to the name of the image in almost all cases, except that colons are replaced with dashes. Drop the redundant information and massage it in our CI scripts, which is equivalent to how we do it in GitLab CI. There are a couple of exceptions: - The "linux32" job, whose distro name is different than the image name. This is handled by adapting all sites to use the new name. - The "alpine" and "fedora" jobs, neither of which specify a tag for their image. This is handled by adding the "latest" tag. Signed-off-by: Patrick Steinhardt Signed-off-by: Junio C Hamano --- diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8e5847da4f..b54da639a6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -275,7 +275,7 @@ jobs: CC: ${{matrix.vector.cc}} CC_PACKAGE: ${{matrix.vector.cc_package}} jobname: ${{matrix.vector.jobname}} - distro: ${{matrix.vector.pool}} + CI_JOB_IMAGE: ${{matrix.vector.pool}} TEST_OUTPUT_DIRECTORY: ${{github.workspace}}/t runs-on: ${{matrix.vector.pool}} steps: @@ -316,63 +316,49 @@ jobs: - jobname: linux-sha256 image: ubuntu:latest cc: clang - distro: ubuntu-latest - jobname: linux-reftable image: ubuntu:latest cc: clang - distro: ubuntu-latest - jobname: linux-gcc image: ubuntu:20.04 cc: gcc cc_package: gcc-8 - distro: ubuntu-20.04 - jobname: linux-TEST-vars image: ubuntu:20.04 cc: gcc cc_package: gcc-8 - distro: ubuntu-20.04 - jobname: linux-gcc-default image: ubuntu:latest cc: gcc - distro: ubuntu-latest - jobname: linux-leaks image: ubuntu:latest cc: gcc - distro: ubuntu-latest - jobname: linux-reftable-leaks image: ubuntu:latest cc: gcc - distro: ubuntu-latest - jobname: linux-asan-ubsan image: ubuntu:latest cc: clang - distro: ubuntu-latest - jobname: linux-meson image: ubuntu:latest cc: gcc - distro: ubuntu-latest - jobname: linux-musl - image: alpine - distro: alpine-latest + image: alpine:latest # Supported until 2025-04-02. - jobname: linux32 image: i386/ubuntu:focal - distro: ubuntu32-20.04 - jobname: pedantic - image: fedora - distro: fedora-latest + image: fedora:latest # A RHEL 8 compatible distro. Supported until 2029-05-31. - jobname: almalinux-8 image: almalinux:8 - distro: almalinux-8 # Supported until 2026-08-31. - jobname: debian-11 image: debian:11 - distro: debian-11 env: jobname: ${{matrix.vector.jobname}} - distro: ${{matrix.vector.distro}} CC: ${{matrix.vector.cc}} + CI_JOB_IMAGE: ${{matrix.vector.image}} runs-on: ubuntu-latest container: ${{matrix.vector.image}} steps: diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh index ecb5b9d36c..d5a959e25f 100755 --- a/ci/install-dependencies.sh +++ b/ci/install-dependencies.sh @@ -33,7 +33,7 @@ fedora-*|almalinux-*) dnf -yq update >/dev/null && dnf -yq install shadow-utils sudo make gcc findutils diffutils perl python3 gettext zlib-devel expat-devel openssl-devel curl-devel pcre2-devel >/dev/null ;; -ubuntu-*|ubuntu32-*|debian-*) +ubuntu-*|i386/ubuntu-*|debian-*) # Required so that apt doesn't wait for user input on certain packages. export DEBIAN_FRONTEND=noninteractive @@ -42,7 +42,7 @@ ubuntu-*|ubuntu32-*|debian-*) SVN='libsvn-perl subversion' LANGUAGES='language-pack-is' ;; - ubuntu32-*) + i386/ubuntu-*) SVN= LANGUAGES='language-pack-is' ;; diff --git a/ci/lib.sh b/ci/lib.sh index 8885ee3c3f..f8b68ab8a6 100755 --- a/ci/lib.sh +++ b/ci/lib.sh @@ -246,6 +246,8 @@ then GIT_TEST_OPTS="--github-workflow-markup" JOBS=10 + + distro=$(echo "$CI_JOB_IMAGE" | tr : -) elif test true = "$GITLAB_CI" then CI_TYPE=gitlab-ci