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) ;; In this way, we can change the "ubuntu-latest" runner image to any version such as "ubuntu-22.04" to test CI behavior in advance. 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