From c2e7d1c91a2130bb50967a12fdf084a96396bfd9 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Sun, 25 Aug 2024 13:39:19 +0200 Subject: [PATCH 1/2] GHA: Workaround node20 GLIBC issues in older Ubuntu containers Avoid errors like > /__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node) when using Ubuntu 16/18 containers with the @v4 actions See actions/checkout#1590 --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 13599bc8..2c5339c7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -122,6 +122,7 @@ jobs: if [[ "${{matrix.container}}" == "ubuntu:16.04" ]] || [[ "${{matrix.container}}" == "ubuntu:18.04" ]]; then # Ubuntu 16/18 can't run Node 20, so stick to older actions: https://github.com/actions/checkout/issues/1590 echo "GHA_USE_NODE_20=false" >> $GITHUB_ENV + echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV else echo "GHA_USE_NODE_20=true" >> $GITHUB_ENV fi From b7b4cca0856ebe1ceef0bedcb8003f1cc36e40f9 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Sun, 25 Aug 2024 13:41:43 +0200 Subject: [PATCH 2/2] GHA: Use ubuntu-latest for all container jobs --- .github/workflows/ci.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2c5339c7..ed83e29a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,13 +44,13 @@ jobs: matrix: include: # Linux, gcc - - { compiler: gcc-4.4, cxxstd: '98,0x', os: ubuntu-22.04, container: 'ubuntu:16.04' } - - { compiler: gcc-4.6, cxxstd: '03,0x', os: ubuntu-22.04, container: 'ubuntu:16.04' } - - { compiler: gcc-4.7, cxxstd: '03,11', os: ubuntu-22.04, container: 'ubuntu:16.04' } - - { compiler: gcc-4.8, cxxstd: '03,11', os: ubuntu-22.04, container: 'ubuntu:16.04' } - - { compiler: gcc-4.9, cxxstd: '03,11', os: ubuntu-22.04, container: 'ubuntu:16.04' } - - { compiler: gcc-5, cxxstd: '03,11,14,1z', os: ubuntu-22.04, container: 'ubuntu:18.04' } - - { compiler: gcc-6, cxxstd: '03,11,14,17', os: ubuntu-22.04, container: 'ubuntu:18.04' } + - { compiler: gcc-4.4, cxxstd: '98,0x', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: gcc-4.6, cxxstd: '03,0x', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: gcc-4.7, cxxstd: '03,11', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: gcc-4.8, cxxstd: '03,11', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: gcc-4.9, cxxstd: '03,11', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: gcc-5, cxxstd: '03,11,14,1z', os: ubuntu-latest, container: 'ubuntu:18.04' } + - { compiler: gcc-6, cxxstd: '03,11,14,17', os: ubuntu-latest, container: 'ubuntu:18.04' } - { compiler: gcc-7, cxxstd: '03,11,14,17', os: ubuntu-20.04 } - { compiler: gcc-8, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04 } - { compiler: gcc-9, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04 } @@ -63,17 +63,17 @@ jobs: compiler: gcc-8, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04, install: 'g++-8-multilib', address-model: '32,64' } # Linux, clang - - { compiler: clang-3.5, cxxstd: '03,11', os: ubuntu-22.04, container: 'ubuntu:16.04' } - - { compiler: clang-3.6, cxxstd: '03,11,14', os: ubuntu-22.04, container: 'ubuntu:16.04' } - - { compiler: clang-3.7, cxxstd: '03,11,14', os: ubuntu-22.04, container: 'ubuntu:16.04' } - - { compiler: clang-3.8, cxxstd: '03,11,14', os: ubuntu-22.04, container: 'ubuntu:16.04' } - - { compiler: clang-3.9, cxxstd: '03,11,14', os: ubuntu-22.04, container: 'ubuntu:18.04' } - - { compiler: clang-4.0, cxxstd: '03,11,14', os: ubuntu-22.04, container: 'ubuntu:18.04' } - - { compiler: clang-5.0, cxxstd: '03,11,14,1z', os: ubuntu-22.04, container: 'ubuntu:18.04' } - - { compiler: clang-6.0, cxxstd: '03,11,14,17', os: ubuntu-22.04, container: 'ubuntu:18.04' } - - { compiler: clang-7, cxxstd: '03,11,14,17', os: ubuntu-22.04, container: 'ubuntu:18.04' } + - { compiler: clang-3.5, cxxstd: '03,11', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: clang-3.6, cxxstd: '03,11,14', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: clang-3.7, cxxstd: '03,11,14', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: clang-3.8, cxxstd: '03,11,14', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: clang-3.9, cxxstd: '03,11,14', os: ubuntu-latest, container: 'ubuntu:18.04' } + - { compiler: clang-4.0, cxxstd: '03,11,14', os: ubuntu-latest, container: 'ubuntu:18.04' } + - { compiler: clang-5.0, cxxstd: '03,11,14,1z', os: ubuntu-latest, container: 'ubuntu:18.04' } + - { compiler: clang-6.0, cxxstd: '03,11,14,17', os: ubuntu-latest, container: 'ubuntu:18.04' } + - { compiler: clang-7, cxxstd: '03,11,14,17', os: ubuntu-latest, container: 'ubuntu:18.04' } # Note: clang-8 does not fully support C++20, so it is not compatible with some libstdc++ versions in this mode - - { compiler: clang-8, cxxstd: '03,11,14,17,2a', os: ubuntu-22.04, container: 'ubuntu:18.04', install: 'clang-8 g++-7', gcc_toolchain: 7 } + - { compiler: clang-8, cxxstd: '03,11,14,17,2a', os: ubuntu-latest, container: 'ubuntu:18.04', install: 'clang-8 g++-7', gcc_toolchain: 7 } - { compiler: clang-9, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04 } - { compiler: clang-10, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } - { compiler: clang-11, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } @@ -83,7 +83,7 @@ jobs: - { compiler: clang-14, cxxstd: '03,11,14,17,20', os: ubuntu-22.04, install: 'clang-14 g++-12', gcc_toolchain: 12 } # libc++ - - { compiler: clang-6.0, cxxstd: '03,11,14', os: ubuntu-22.04, container: 'ubuntu:18.04', stdlib: libc++, install: 'clang-6.0 libc++-dev libc++abi-dev' } + - { compiler: clang-6.0, cxxstd: '03,11,14', os: ubuntu-latest, container: 'ubuntu:18.04', stdlib: libc++, install: 'clang-6.0 libc++-dev libc++abi-dev' } - { compiler: clang-12, cxxstd: '03,11,14,17,20', os: ubuntu-20.04, stdlib: libc++, install: 'clang-12 libc++-12-dev libc++abi-12-dev' } - { name: Clang w/ sanitizers, sanitize: yes, compiler: clang-14, cxxstd: '03,11,14,17,20', os: ubuntu-22.04, stdlib: libc++, install: 'clang-14 libc++-14-dev libc++abi-14-dev' }