Re: [PATCH 1/2] github-actions: run gcc-8 on ubuntu-20.04 image
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Nov 24, 2022, 08:11 UTC
- Message-ID
- <p646ro03-7n48-5202-9075-p7srso008417@tzk.qr>
- In-Reply-To
- <20221123150233.13039-2-worldhello.net@gmail.com>
Hi,
On Wed, 23 Nov 2022, Jiang Xin wrote:
Show 21 quoted lines
> From: Jiang Xin <zhiyou.jx@alibaba-inc.com> > > GitHub starts to upgrade its runner image "ubuntu-latest" from version > "ubuntu-20.04" to version "ubuntu-22.04". It will fail to find and > install "gcc-8" package on the new runner image. > > Change the runner images from "ubuntu-latest" to "ubuntu-20.04" in order > to run with "gcc-8" as a dependency. > > Instead of use the environment "$runs_on_pool" as below: > > case "$runs_on_pool" in > ubuntu-20.04 | ubuntu-latest) > ;; > > we can reuse the os field in the matrix, and use a new environment > "$runs_on_os" as below: > > case "$runs_on_os" in > ubuntu) > ;;
While this is a bit more refactoring than I usually recommend when trying to fix an urgent bug, the outcome does look nice and correct.
Here is my
Reviewed-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Thank you for working on this! Dscho
Show 120 quoted lines
>
> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> ---
> .github/workflows/main.yml | 16 ++++++++++++----
> ci/install-dependencies.sh | 6 +++---
> ci/lib.sh | 6 +++---
> 3 files changed, 18 insertions(+), 10 deletions(-)
>
> diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
> index 592f9193a8..da0d8ab0bf 100644
> --- a/.github/workflows/main.yml
> +++ b/.github/workflows/main.yml
> @@ -224,6 +224,7 @@ jobs:
> vector:
> - jobname: linux-clang
> cc: clang
> + os: ubuntu
> pool: ubuntu-latest
> - jobname: linux-sha256
> cc: clang
> @@ -232,36 +233,43 @@ jobs:
> - jobname: linux-gcc
> cc: gcc
> cc_package: gcc-8
> - pool: ubuntu-latest
> + os: ubuntu
> + pool: ubuntu-20.04
> - jobname: linux-TEST-vars
> cc: gcc
> - os: ubuntu
> cc_package: gcc-8
> - pool: ubuntu-latest
> + os: ubuntu
> + pool: ubuntu-20.04
> - jobname: osx-clang
> cc: clang
> + os: macos
> pool: macos-latest
> - jobname: osx-gcc
> cc: gcc
> cc_package: gcc-9
> + os: macos
> pool: macos-latest
> - jobname: linux-gcc-default
> cc: gcc
> + os: ubuntu
> pool: ubuntu-latest
> - jobname: linux-leaks
> cc: gcc
> + os: ubuntu
> pool: ubuntu-latest
> - jobname: linux-asan
> cc: gcc
> + os: ubuntu
> pool: ubuntu-latest
> - jobname: linux-ubsan
> cc: gcc
> + os: ubuntu
> pool: ubuntu-latest
> env:
> CC: ${{matrix.vector.cc}}
> CC_PACKAGE: ${{matrix.vector.cc_package}}
> jobname: ${{matrix.vector.jobname}}
> - runs_on_pool: ${{matrix.vector.pool}}
> + runs_on_os: ${{matrix.vector.os}}
> runs-on: ${{matrix.vector.pool}}
> steps:
> - uses: actions/checkout@v2
> diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
> index 107757a1fe..f639263a62 100755
> --- a/ci/install-dependencies.sh
> +++ b/ci/install-dependencies.sh
> @@ -11,8 +11,8 @@ UBUNTU_COMMON_PKGS="make libssl-dev libcurl4-openssl-dev libexpat-dev
> tcl tk gettext zlib1g-dev perl-modules liberror-perl libauthen-sasl-perl
> libemail-valid-perl libio-socket-ssl-perl libnet-smtp-ssl-perl"
>
> -case "$runs_on_pool" in
> -ubuntu-latest)
> +case "$runs_on_os" in
> +ubuntu)
> sudo apt-get -q update
> sudo apt-get -q -y install language-pack-is libsvn-perl apache2 \
> $UBUNTU_COMMON_PKGS $CC_PACKAGE
> @@ -30,7 +30,7 @@ ubuntu-latest)
> cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
> popd
> ;;
> -macos-latest)
> +macos)
> export HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1
> # Uncomment this if you want to run perf tests:
> # brew install gnu-time
> diff --git a/ci/lib.sh b/ci/lib.sh
> index 24d20a5d64..0c0767d354 100755
> --- a/ci/lib.sh
> +++ b/ci/lib.sh
> @@ -225,8 +225,8 @@ export DEFAULT_TEST_TARGET=prove
> export GIT_TEST_CLONE_2GB=true
> export SKIP_DASHED_BUILT_INS=YesPlease
>
> -case "$runs_on_pool" in
> -ubuntu-latest)
> +case "$runs_on_os" in
> +ubuntu)
> if test "$jobname" = "linux-gcc-default"
> then
> break
> @@ -253,7 +253,7 @@ ubuntu-latest)
> GIT_LFS_PATH="$HOME/custom/git-lfs"
> export PATH="$GIT_LFS_PATH:$P4_PATH:$PATH"
> ;;
> -macos-latest)
> +macos)
> if [ "$jobname" = osx-gcc ]
> then
> MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=$(which python3)"
> --
> 2.39.0.rc0
>
>