diff --git a/.drone.jsonnet b/.drone.jsonnet index 6e124d75..a94ad077 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -205,22 +205,22 @@ local windows_pipeline(name, image, environment, arch = "amd64") = ), linux_pipeline( - "Linux 23.04 GCC 13 32 UBSAN", - "cppalliance/droneubuntu2304:1", + "Linux 24.04 GCC 13 32 UBSAN", + "cppalliance/droneubuntu2404:1", { TOOLSET: 'gcc', COMPILER: 'g++-13', CXXSTD: '11,14,17,20,2b', ADDRMD: '32' } + ubsan, "g++-13-multilib", ), linux_pipeline( - "Linux 23.04 GCC 13 64 UBSAN", - "cppalliance/droneubuntu2304:1", + "Linux 24.04 GCC 13 64 UBSAN", + "cppalliance/droneubuntu2404:1", { TOOLSET: 'gcc', COMPILER: 'g++-13', CXXSTD: '11,14,17,20,2b', ADDRMD: '64' } + ubsan, "g++-13-multilib", ), linux_pipeline( - "Linux 23.04 GCC 13 32 ASAN", - "cppalliance/droneubuntu2304:1", + "Linux 24.04 GCC 13 32 ASAN", + "cppalliance/droneubuntu2404:1", { TOOLSET: 'gcc', COMPILER: 'g++-13', CXXSTD: '11,14,17,20,2b', ADDRMD: '32' } + asan, "g++-13-multilib", ), @@ -289,15 +289,15 @@ 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", - "cppalliance/droneubuntu2310:1", + "Linux 24.04 Clang 17", + "cppalliance/droneubuntu2404:1", { TOOLSET: 'clang', COMPILER: 'clang++-17', CXXSTD: '11,14,17,20,2b' }, "clang-17", ), diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e62ce7a1..bf74d0f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,8 +56,7 @@ jobs: install: g++-12 - toolset: gcc-13 cxxstd: "11,14,17,20,2b" - os: ubuntu-latest - container: ubuntu:23.04 + os: ubuntu-24.04 install: g++-13 - toolset: gcc-14 cxxstd: "11,14,17,20,2b" @@ -135,14 +134,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 @@ -150,9 +147,6 @@ jobs: container: ubuntu:24.04 os: ubuntu-latest install: clang-18 - - toolset: clang - cxxstd: "11,14,17,20,2b" - os: macos-12 - toolset: clang cxxstd: "11,14,17,20,2b" os: macos-13 @@ -161,24 +155,28 @@ jobs: os: macos-14 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 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 + fi + + - uses: actions/checkout@v4 - name: Install packages if: matrix.install @@ -284,7 +282,6 @@ jobs: include: - os: ubuntu-20.04 - os: ubuntu-22.04 - - os: macos-12 - os: macos-13 - os: macos-14 @@ -332,7 +329,6 @@ jobs: include: - os: ubuntu-20.04 - os: ubuntu-22.04 - - os: macos-12 - os: macos-13 - os: macos-14 @@ -390,7 +386,6 @@ jobs: include: - os: ubuntu-20.04 - os: ubuntu-22.04 - - os: macos-12 - os: macos-13 - os: macos-14