From e73ea965529c90c8245aed2d9616625a4902c427 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Mon, 1 May 2023 17:43:23 +0200 Subject: [PATCH] Add old compilers using containers, gcc multilib, multiple clang versions --- .github/workflows/ci.yml | 201 +++++++++++++++++++++++++++++++++++---- 1 file changed, 184 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef7855b..54c3d93 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,42 +17,209 @@ jobs: fail-fast: false matrix: include: + # Linux, gcc + - toolset: gcc-4.4 + cxxstd: "98,0x" + address-model: 32,64 + os: ubuntu-latest + container: ubuntu:16.04 + install: + - g++-4.4-multilib + sources: + - "ppa:ubuntu-toolchain-r/test" + - toolset: gcc-4.6 + cxxstd: "03,0x" + address-model: 32,64 + os: ubuntu-latest + container: ubuntu:16.04 + install: + - g++-4.6-multilib + sources: + - "ppa:ubuntu-toolchain-r/test" + - toolset: gcc-4.7 + cxxstd: "03,11" + address-model: 32,64 + os: ubuntu-latest + container: ubuntu:16.04 + install: + - g++-4.7-multilib + - toolset: gcc-4.8 + cxxstd: "03,11" + address-model: 32,64 + os: ubuntu-latest + container: ubuntu:18.04 + install: + - g++-4.8-multilib + - toolset: gcc-4.9 + cxxstd: "03,11" + address-model: 32,64 + os: ubuntu-latest + container: ubuntu:16.04 + install: + - g++-4.9-multilib + - toolset: gcc-5 + cxxstd: "03,11,14,1z" + address-model: 32,64 + os: ubuntu-latest + container: ubuntu:16.04 + install: + - g++-5-multilib + - toolset: gcc-6 + cxxstd: "03,11,14,1z" + address-model: 32,64 + os: ubuntu-latest + container: ubuntu:18.04 + install: + - g++-6-multilib + - toolset: gcc-7 + cxxstd: "03,11,14,17" + address-model: 32,64 + os: ubuntu-latest + container: ubuntu:18.04 + install: + - g++-7-multilib + - toolset: gcc-8 + cxxstd: "03,11,14,17,2a" + address-model: 32,64 + os: ubuntu-latest + container: ubuntu:18.04 + install: + - g++-8-multilib - toolset: gcc-9 cxxstd: "03,11,14,17,2a" + address-model: 32,64 os: ubuntu-20.04 + install: + - g++-9-multilib - toolset: gcc-10 - cxxstd: "03,11,14,17,2a" + cxxstd: "03,11,14,17,20" + address-model: 32,64 os: ubuntu-20.04 - install: g++-10 + install: + - g++-10-multilib - toolset: gcc-11 - cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 - install: g++-11 + cxxstd: "03,11,14,17,20,23" + address-model: 32,64 + os: ubuntu-22.04 + install: + - g++-11-multilib + - toolset: gcc-12 + cxxstd: "03,11,14,17,20,23" + address-model: 32,64 + os: ubuntu-22.04 + install: + - g++-12-multilib + # Linux, clang + - toolset: clang + compiler: clang++-3.5 + cxxstd: "03,11" + os: ubuntu-latest + container: ubuntu:16.04 + install: + - clang-3.5 + - toolset: clang + compiler: clang++-3.6 + cxxstd: "03,11,14" + os: ubuntu-latest + container: ubuntu:16.04 + install: + - clang-3.6 + - toolset: clang + compiler: clang++-3.7 + cxxstd: "03,11,14" + os: ubuntu-latest + container: ubuntu:16.04 + install: + - clang-3.7 + - toolset: clang + compiler: clang++-3.8 + cxxstd: "03,11,14" + os: ubuntu-latest + container: ubuntu:16.04 + install: + - clang-3.8 + - toolset: clang + compiler: clang++-3.9 + cxxstd: "03,11,14" + os: ubuntu-latest + container: ubuntu:18.04 + install: + - clang-3.9 + - toolset: clang + compiler: clang++-4.0 + cxxstd: "03,11,14" + os: ubuntu-latest + container: ubuntu:18.04 + install: + - clang-4.0 + - toolset: clang + compiler: clang++-5.0 + cxxstd: "03,11,14,1z" + os: ubuntu-latest + container: ubuntu:18.04 + install: + - clang-5.0 + - toolset: clang + compiler: clang++-6.0 + cxxstd: "03,11,14,17" + os: ubuntu-latest + container: ubuntu:18.04 + install: + - clang-6.0 + - toolset: clang + compiler: clang++-7 + cxxstd: "03,11,14,17" + os: ubuntu-latest + container: ubuntu:18.04 + install: + - clang-7 + # Note: clang-8 does not fully support C++20, so it is not compatible with libstdc++-8 in this mode - toolset: clang compiler: clang++-8 - cxxstd: "03,11,14,17" - os: ubuntu-20.04 - install: clang-8 + cxxstd: "03,11,14,17,2a" + os: ubuntu-latest + container: ubuntu:18.04 + install: + - clang-8 + - g++-7 + gcc_toolchain: 7 - toolset: clang compiler: clang++-9 cxxstd: "03,11,14,17,2a" os: ubuntu-20.04 - install: clang-9 + install: + - clang-9 - toolset: clang compiler: clang++-10 - cxxstd: "03,11,14,17,2a" + cxxstd: "03,11,14,17,20" os: ubuntu-20.04 - install: clang-10 + install: + - clang-10 - toolset: clang compiler: clang++-11 - cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 - install: clang-11 + cxxstd: "03,11,14,17,20" + os: ubuntu-22.04 + install: + - clang-11 - toolset: clang compiler: clang++-12 - cxxstd: "03,11,14,17,2a" - os: ubuntu-20.04 - install: clang-12 + cxxstd: "03,11,14,17,20,2b" + os: ubuntu-22.04 + install: + - clang-12 + - toolset: clang + compiler: clang++-13 + cxxstd: "03,11,14,17,20,2b" + os: ubuntu-22.04 + install: + - clang-13 + - toolset: clang + compiler: clang++-14 + cxxstd: "03,11,14,17,20,2b" + os: ubuntu-22.04 + install: + - clang-14 + # MacOs, clang - toolset: clang cxxstd: "03,11,14,17,2a" os: macos-11