From 9b2afeb51030e131ff50257c0b6c0bdb7aebf97a Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Sat, 7 Dec 2024 19:43:44 +0100 Subject: [PATCH 1/6] Fix node 20 issue on GHA CI --- .github/workflows/ci.yml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e7ed3b8e..b3538634 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -186,24 +186,28 @@ jobs: os: macos-15 runs-on: ${{matrix.os}} - container: ${{matrix.container}} + container: + image: ${{matrix.container}} + volumes: + - /node20217:/node20217:rw,rshared + - ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }} defaults: run: shell: bash steps: - - name: Enable Node 16 - run: | - echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV - - - uses: actions/checkout@v3 - - name: Setup container environment if: matrix.container run: | apt-get update - apt-get -y install sudo python3 git g++ + apt-get -y install sudo python3 git g++ curl + if [[ "${{matrix.container}}" == "ubuntu:1"* ]]; then + # Node 20 doesn't work with Ubuntu 16/18 glibc: https://github.com/actions/checkout/issues/1590 + curl -sL https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz | tar -xJ --strip-components 1 -C /node20217 + fi + + - uses: actions/checkout@v4 - name: Install packages if: matrix.install From 605a9abfcb4fa0ebd390e5b0084ce12642a6d52c Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Sun, 8 Dec 2024 13:10:43 +0100 Subject: [PATCH 2/6] Use hosted node --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b3538634..2832256b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -204,7 +204,7 @@ jobs: apt-get -y install sudo python3 git g++ curl if [[ "${{matrix.container}}" == "ubuntu:1"* ]]; then # Node 20 doesn't work with Ubuntu 16/18 glibc: https://github.com/actions/checkout/issues/1590 - curl -sL https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz | tar -xJ --strip-components 1 -C /node20217 + curl -sL https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz | tar -xJ --strip-components 1 -C /node20217 fi - uses: actions/checkout@v4 From c036736d8d56379594fa28119e678404aef808c5 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Sun, 8 Dec 2024 14:41:44 +0100 Subject: [PATCH 3/6] Update containers --- .github/workflows/ci.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2832256b..c4f40895 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -79,8 +79,7 @@ jobs: address-model: 32,64 - toolset: gcc-13 cxxstd: "11,14,17,20,2b" - container: ubuntu:23.04 - os: ubuntu-latest + os: ubuntu-24.04 install: g++-13-multilib address-model: 32,64 - toolset: gcc-14 @@ -160,14 +159,12 @@ jobs: - toolset: clang compiler: clang++-16 cxxstd: "11,14,17,20,2b" - container: ubuntu:23.04 - os: ubuntu-latest + os: ubuntu-24.04 install: clang-16 - toolset: clang compiler: clang++-17 cxxstd: "11,14,17,20,2b" - container: ubuntu:23.10 - os: ubuntu-latest + os: ubuntu-24.04 install: clang-17 - toolset: clang compiler: clang++-18 From bf75e391b0eff58494fc019a1114eae8ffbfde02 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Sun, 8 Dec 2024 20:56:42 +0100 Subject: [PATCH 4/6] Install xz --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c4f40895..88adbf8a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -198,7 +198,7 @@ jobs: if: matrix.container run: | apt-get update - apt-get -y install sudo python3 git g++ curl + apt-get -y install sudo python3 git g++ curl xz-utils if [[ "${{matrix.container}}" == "ubuntu:1"* ]]; then # Node 20 doesn't work with Ubuntu 16/18 glibc: https://github.com/actions/checkout/issues/1590 curl -sL https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz | tar -xJ --strip-components 1 -C /node20217 From 7d0374eb60fc307b25ca9810d05f15dedad9e46f Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Mon, 9 Dec 2024 15:38:31 +0100 Subject: [PATCH 5/6] GHA: Remove C++2b test from clang-17 on ubuntu-24.04 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 88adbf8a..620dae50 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -163,7 +163,7 @@ jobs: install: clang-16 - toolset: clang compiler: clang++-17 - cxxstd: "11,14,17,20,2b" + cxxstd: "11,14,17,20" os: ubuntu-24.04 install: clang-17 - toolset: clang From a931d487a9b3cb9a76a3571ba795b63d2dd5adee Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Mon, 9 Dec 2024 20:25:01 +0100 Subject: [PATCH 6/6] Use Ubuntu 24.04 on Drone --- .drone.jsonnet | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.drone.jsonnet b/.drone.jsonnet index 5d50b1f7..7305f9d2 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -193,8 +193,8 @@ local windows_pipeline(name, image, environment, arch = "amd64") = ), linux_pipeline( - "Linux 23.04 GCC 13 32/64", - "cppalliance/droneubuntu2304:1", + "Linux 24.04 GCC 13 32/64", + "cppalliance/droneubuntu2404:1", { TOOLSET: 'gcc', COMPILER: 'g++-13', CXXSTD: '11,14,17,20,2b', ADDRMD: '32,64' }, "g++-13-multilib", ), @@ -333,22 +333,22 @@ local windows_pipeline(name, image, environment, arch = "amd64") = ), linux_pipeline( - "Linux 23.04 Clang 16", - "cppalliance/droneubuntu2304:1", + "Linux 24.04 Clang 16", + "cppalliance/droneubuntu2404:1", { TOOLSET: 'clang', COMPILER: 'clang++-16', CXXSTD: '11,14,17,20,2b' }, "clang-16", ), linux_pipeline( - "Linux 23.10 Clang 17 UBSAN", - "cppalliance/droneubuntu2310:1", + "Linux 24.04 Clang 17 UBSAN", + "cppalliance/droneubuntu2404:1", { TOOLSET: 'clang', COMPILER: 'clang++-17', CXXSTD: '11,14,17,20,2b' } + ubsan, "clang-17", ), linux_pipeline( - "Linux 23.10 Clang 17 ASAN", - "cppalliance/droneubuntu2310:1", + "Linux 24.04 Clang 17 ASAN", + "cppalliance/droneubuntu2404:1", { TOOLSET: 'clang', COMPILER: 'clang++-17', CXXSTD: '11,14,17,20,2b' } + asan, "clang-17", ),