From e30c4102a2850885c17552a6ea5eea57124df153 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Mon, 17 Jun 2024 21:06:03 +0300 Subject: [PATCH] Update ci.yml --- .github/workflows/ci.yml | 97 +++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 50 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1498870..3020f89 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,60 +44,56 @@ jobs: matrix: include: # Linux, gcc - - { compiler: gcc-4.4, cxxstd: '98,0x', os: ubuntu-20.04, container: 'ubuntu:16.04' } - - { compiler: gcc-4.6, cxxstd: '03,0x', os: ubuntu-20.04, container: 'ubuntu:16.04' } - - { compiler: gcc-4.7, cxxstd: '03,11', os: ubuntu-20.04, container: 'ubuntu:16.04' } - - { compiler: gcc-4.8, cxxstd: '03,11', os: ubuntu-18.04 } - - { compiler: gcc-4.9, cxxstd: '03,11', os: ubuntu-20.04, container: 'ubuntu:16.04' } - - { compiler: gcc-5, cxxstd: '03,11,14,1z', os: ubuntu-18.04 } - - { compiler: gcc-6, cxxstd: '03,11,14,17', os: ubuntu-18.04 } - - { compiler: gcc-7, cxxstd: '03,11,14,17', os: ubuntu-18.04 } - - { compiler: gcc-8, cxxstd: '03,11,14,17,2a', os: ubuntu-18.04 } - - { compiler: gcc-9, cxxstd: '03,11,14,17,2a', os: ubuntu-18.04 } - - { compiler: gcc-10, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } - - { compiler: gcc-11, cxxstd: '03,11,14,17,20', os: ubuntu-20.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:18.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 } + - { compiler: gcc-10, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } + - { compiler: gcc-11, cxxstd: '03,11,14,17,20', os: ubuntu-22.04 } + - { compiler: gcc-12, cxxstd: '03,11,14,17,20,2b', os: ubuntu-22.04 } + - { compiler: gcc-13, cxxstd: '03,11,14,17,20,2b', os: ubuntu-latest, container: 'ubuntu:23.04' } + - { compiler: gcc-14, cxxstd: '03,11,14,17,20,2b', os: ubuntu-latest, container: 'ubuntu:24.04' } - { name: GCC w/ sanitizers, sanitize: yes, - compiler: gcc-11, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } + compiler: gcc-11, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } - { name: Collect coverage, coverage: yes, - compiler: gcc-10, cxxstd: '03,11', os: ubuntu-20.04, install: 'g++-10-multilib', address-model: '32,64' } + compiler: gcc-10, cxxstd: '03,11', os: ubuntu-20.04, install: 'g++-10-multilib', address-model: '32,64' } # Linux, clang - - { compiler: clang-3.5, cxxstd: '03,11', os: ubuntu-20.04, container: 'ubuntu:16.04' } - - { compiler: clang-3.6, cxxstd: '03,11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' } - - { compiler: clang-3.7, cxxstd: '03,11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' } - - { compiler: clang-3.8, cxxstd: '03,11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' } - - { compiler: clang-3.9, cxxstd: '03,11,14', os: ubuntu-18.04 } - - { compiler: clang-4.0, cxxstd: '03,11,14', os: ubuntu-18.04 } - - { compiler: clang-5.0, cxxstd: '03,11,14,1z', os: ubuntu-18.04 } - - { compiler: clang-6.0, cxxstd: '03,11,14,17', os: ubuntu-18.04 } - - { compiler: clang-7, cxxstd: '03,11,14,17', os: 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-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 } - - { name: Clang w/ valgrind, valgrind: yes, - compiler: clang-12, cxxstd: '03,11,14,17,20', os: ubuntu-20.04, install: 'valgrind' } + - { 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:20.04' } + - { compiler: clang-7, cxxstd: '03,11,14,17', os: ubuntu-latest, container: 'ubuntu:20.04' } + - { compiler: clang-8, cxxstd: '03,11,14,17,2a', os: ubuntu-latest, container: 'ubuntu:20.04' } + - { compiler: clang-9, cxxstd: '03,11,14,17,2a', os: ubuntu-latest, container: 'ubuntu:20.04' } + - { compiler: clang-10, cxxstd: '03,11,14,17,20', os: ubuntu-latest, container: 'ubuntu:20.04' } + - { compiler: clang-11, cxxstd: '03,11,14,17,20', os: ubuntu-latest, container: 'ubuntu:20.04' } + - { compiler: clang-12, cxxstd: '03,11,14,17,20', os: ubuntu-latest, container: 'ubuntu:20.04' } + - { compiler: clang-13, cxxstd: '03,11,14,17,20,2b', os: ubuntu-latest, container: 'ubuntu:22.04' } + - { compiler: clang-14, cxxstd: '03,11,14,17,20,2b', os: ubuntu-latest, container: 'ubuntu:22.04' } + - { compiler: clang-15, cxxstd: '03,11,14,17,20,2b', os: ubuntu-latest, container: 'ubuntu:22.04' } + - { compiler: clang-16, cxxstd: '03,11,14,17,20,2b', os: ubuntu-latest, container: 'ubuntu:23.04' } + - { compiler: clang-17, cxxstd: '03,11,14,17,20,2b', os: ubuntu-latest, container: 'ubuntu:23.10' } + - { compiler: clang-18, cxxstd: '03,11,14,17,20,2b', os: ubuntu-latest, container: 'ubuntu:24.04' } # libc++ - - { compiler: clang-6.0, cxxstd: '03,11,14', os: ubuntu-18.04, stdlib: libc++, install: 'clang-6.0 libc++-dev libc++abi-dev' } - { name: Clang w/ sanitizers, sanitize: yes, - 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' } + compiler: clang-12, cxxstd: '03,11,14,17,20', os: ubuntu-latest, container: 'ubuntu:20.04', stdlib: libc++, install: 'clang-12 libc++-12-dev libc++abi-12-dev' } # OSX, clang - - { compiler: clang, cxxstd: '03,11,14,17,2a', os: macos-10.15 } - - # Coverity Scan - # requires two github secrets in repo to activate; see ci/github/coverity.sh - # does not run on pull requests, only on pushes into develop and master - - { name: Coverity, coverity: yes, - compiler: clang-10, cxxstd: '17', os: ubuntu-20.04, ccache: no } - - # multiarch (bigendian testing) - does not support coverage yet - # Please uncomment when fixing https://github.com/boostorg/mpl/issues/50 - # - { name: Big-endian, multiarch: yes, - # compiler: clang, cxxstd: '17', os: ubuntu-20.04, ccache: no, distro: fedora, edition: 34, arch: s390x } - + - { compiler: clang, cxxstd: '03,11,14,17,20,2b', os: macos-12 } + - { compiler: clang, cxxstd: '03,11,14,17,20,2b', os: macos-13 } + - { compiler: clang, cxxstd: '03,11,14,17,20,2b', os: macos-14 } timeout-minutes: 120 runs-on: ${{matrix.os}} @@ -246,15 +242,16 @@ jobs: fail-fast: false matrix: include: - - { toolset: msvc-14.2, cxxstd: '14,17,20', addrmd: '32,64', os: windows-2019 } - - { name: Collect coverage, coverage: yes, - toolset: msvc-14.3, cxxstd: '14,17,20', addrmd: '32,64', os: windows-2022 } - - { toolset: gcc, cxxstd: '03,11,14,17,2a', addrmd: '64', os: windows-2019 } + - { toolset: msvc-14.0, cxxstd: '14,latest', addrmd: '32,64', os: windows-2019 } + - { toolset: msvc-14.2, cxxstd: '14,17,20,latest', addrmd: '32,64', os: windows-2019 } + - { toolset: msvc-14.3, cxxstd: '14,17,20,latest', addrmd: '32,64', os: windows-2022 } + - { toolset: clang-win, cxxstd: '14,17,20,latest', addrmd: '32,64', os: windows-2022 } + - { toolset: gcc, cxxstd: '03,11,14,17,2a', addrmd: '64', os: windows-2019 } runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Fetch Boost.CI uses: actions/checkout@v2