Hi, On Wed, 23 Nov 2022, Jiang Xin wrote: > From: Jiang Xin <zhiyou.jx@xxxxxxxxxxxxxxx> > > 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@xxxxxx> Thank you for working on this! Dscho > > Signed-off-by: Jiang Xin <zhiyou.jx@xxxxxxxxxxxxxxx> > --- > .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 > >