- Remove clang with listdc++ tests in C++2b mode as there is an incompatibility between them.

- Add new toolsets present in ubuntu 23.04.
- Use container images also for Ubuntu 22.04
This commit is contained in:
Ion Gaztañaga
2024-01-02 01:38:18 +01:00
parent 148639a98c
commit 60def75ac2

View File

@ -23,7 +23,10 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
#------------------
# Linux, gcc # Linux, gcc
#------------------
# Linux, gcc-4.6
- toolset: gcc-4.6 - toolset: gcc-4.6
cxxstd: "03,0x" cxxstd: "03,0x"
address-model: 32,64 address-model: 32,64
@ -33,6 +36,7 @@ jobs:
- g++-4.6-multilib - g++-4.6-multilib
sources: sources:
- "ppa:ubuntu-toolchain-r/test" - "ppa:ubuntu-toolchain-r/test"
# Linux, gcc-4.7
- toolset: gcc-4.7 - toolset: gcc-4.7
cxxstd: "03,11" cxxstd: "03,11"
address-model: 32,64 address-model: 32,64
@ -40,6 +44,7 @@ jobs:
container: ubuntu:16.04 container: ubuntu:16.04
install: install:
- g++-4.7-multilib - g++-4.7-multilib
# Linux, gcc-4.8
- toolset: gcc-4.8 - toolset: gcc-4.8
cxxstd: "03,11" cxxstd: "03,11"
address-model: 32,64 address-model: 32,64
@ -47,6 +52,7 @@ jobs:
container: ubuntu:18.04 container: ubuntu:18.04
install: install:
- g++-4.8-multilib - g++-4.8-multilib
# Linux, gcc-4.9
- toolset: gcc-4.9 - toolset: gcc-4.9
cxxstd: "03,11" cxxstd: "03,11"
address-model: 32,64 address-model: 32,64
@ -54,6 +60,7 @@ jobs:
container: ubuntu:16.04 container: ubuntu:16.04
install: install:
- g++-4.9-multilib - g++-4.9-multilib
# Linux, gcc-5
- toolset: gcc-5 - toolset: gcc-5
cxxstd: "03,11,14,1z" cxxstd: "03,11,14,1z"
address-model: 32,64 address-model: 32,64
@ -61,6 +68,7 @@ jobs:
container: ubuntu:16.04 container: ubuntu:16.04
install: install:
- g++-5-multilib - g++-5-multilib
# Linux, gcc-6
- toolset: gcc-6 - toolset: gcc-6
cxxstd: "03,11,14,1z" cxxstd: "03,11,14,1z"
address-model: 32,64 address-model: 32,64
@ -68,6 +76,7 @@ jobs:
container: ubuntu:18.04 container: ubuntu:18.04
install: install:
- g++-6-multilib - g++-6-multilib
# Linux, gcc-7
- toolset: gcc-7 - toolset: gcc-7
cxxstd: "03,11,14,17" cxxstd: "03,11,14,17"
address-model: 32,64 address-model: 32,64
@ -75,6 +84,7 @@ jobs:
container: ubuntu:18.04 container: ubuntu:18.04
install: install:
- g++-7-multilib - g++-7-multilib
# Linux, gcc-8
- toolset: gcc-8 - toolset: gcc-8
cxxstd: "03,11,14,17,2a" cxxstd: "03,11,14,17,2a"
address-model: 32,64 address-model: 32,64
@ -82,39 +92,58 @@ jobs:
container: ubuntu:18.04 container: ubuntu:18.04
install: install:
- g++-8-multilib - g++-8-multilib
# Linux, gcc-9
- toolset: gcc-9 - toolset: gcc-9
cxxstd: "03,11,14,17,2a" cxxstd: "03,11,14,17,2a"
address-model: 32,64 address-model: 32,64
os: ubuntu-20.04 os: ubuntu-latest
container: ubuntu:20.04
install: install:
- g++-9-multilib - g++-9-multilib
# Linux, gcc-10
- toolset: gcc-10 - toolset: gcc-10
cxxstd: "03,11,14,17,20" cxxstd: "03,11,14,17,20"
address-model: 32,64 address-model: 32,64
os: ubuntu-20.04 os: ubuntu-latest
container: ubuntu:20.04
install: install:
- g++-10-multilib - g++-10-multilib
# Linux, gcc-11
- toolset: gcc-11 - toolset: gcc-11
cxxstd: "03,11,14,17,20,23" cxxstd: "03,11,14,17,20,23"
address-model: 32,64 address-model: 32,64
os: ubuntu-22.04 os: ubuntu-latest
container: ubuntu:22.04
install: install:
- g++-11-multilib - g++-11-multilib
# Linux, gcc-12
- toolset: gcc-12 - toolset: gcc-12
cxxstd: "03,11,14,17,20,23" cxxstd: "03,11,14,17,20,23"
address-model: 32,64 address-model: 32,64
os: ubuntu-22.04 os: ubuntu-latest
container: ubuntu:22.04
install: install:
- g++-12-multilib - g++-12-multilib
# Linux, gcc-13
- toolset: gcc-13
cxxstd: "11,14,17,20,2b"
os: ubuntu-latest
container: ubuntu:23.04
install: g++-13-multilib
address-model: 32,64
# Linux, gcc-12 UBSAN
- name: UBSAN - name: UBSAN
toolset: gcc-12 toolset: gcc-12
cxxstd: "03,11,14,17,20,23" cxxstd: "03,11,14,17,20,23"
ubsan: 1 ubsan: 1
os: ubuntu-22.04 os: ubuntu-latest
container: ubuntu:22.04
install: install:
- g++-12 - g++-12
#------------------
# Linux, clang # Linux, clang
#------------------
# Linux, clang-3.5
- toolset: clang - toolset: clang
compiler: clang++-3.5 compiler: clang++-3.5
cxxstd: "03,11" cxxstd: "03,11"
@ -122,6 +151,7 @@ jobs:
container: ubuntu:16.04 container: ubuntu:16.04
install: install:
- clang-3.5 - clang-3.5
# Linux, clang-3.6
- toolset: clang - toolset: clang
compiler: clang++-3.6 compiler: clang++-3.6
cxxstd: "03,11,14" cxxstd: "03,11,14"
@ -129,6 +159,7 @@ jobs:
container: ubuntu:16.04 container: ubuntu:16.04
install: install:
- clang-3.6 - clang-3.6
# Linux, clang-3.7
- toolset: clang - toolset: clang
compiler: clang++-3.7 compiler: clang++-3.7
cxxstd: "03,11,14" cxxstd: "03,11,14"
@ -136,6 +167,7 @@ jobs:
container: ubuntu:16.04 container: ubuntu:16.04
install: install:
- clang-3.7 - clang-3.7
# Linux, clang-3.8
- toolset: clang - toolset: clang
compiler: clang++-3.8 compiler: clang++-3.8
cxxstd: "03,11,14" cxxstd: "03,11,14"
@ -143,6 +175,7 @@ jobs:
container: ubuntu:16.04 container: ubuntu:16.04
install: install:
- clang-3.8 - clang-3.8
# Linux, clang-3.9
- toolset: clang - toolset: clang
compiler: clang++-3.9 compiler: clang++-3.9
cxxstd: "03,11,14" cxxstd: "03,11,14"
@ -150,6 +183,7 @@ jobs:
container: ubuntu:18.04 container: ubuntu:18.04
install: install:
- clang-3.9 - clang-3.9
# Linux, clang-4.0
- toolset: clang - toolset: clang
compiler: clang++-4.0 compiler: clang++-4.0
cxxstd: "03,11,14" cxxstd: "03,11,14"
@ -157,6 +191,7 @@ jobs:
container: ubuntu:18.04 container: ubuntu:18.04
install: install:
- clang-4.0 - clang-4.0
# Linux, clang-5.0
- toolset: clang - toolset: clang
compiler: clang++-5.0 compiler: clang++-5.0
cxxstd: "03,11,14,1z" cxxstd: "03,11,14,1z"
@ -164,6 +199,7 @@ jobs:
container: ubuntu:18.04 container: ubuntu:18.04
install: install:
- clang-5.0 - clang-5.0
# Linux, clang-6.0
- toolset: clang - toolset: clang
compiler: clang++-6.0 compiler: clang++-6.0
cxxstd: "03,11,14,17" cxxstd: "03,11,14,17"
@ -171,6 +207,7 @@ jobs:
container: ubuntu:18.04 container: ubuntu:18.04
install: install:
- clang-6.0 - clang-6.0
# Linux, clang-7
- toolset: clang - toolset: clang
compiler: clang++-7 compiler: clang++-7
cxxstd: "03,11,14,17" cxxstd: "03,11,14,17"
@ -178,6 +215,7 @@ jobs:
container: ubuntu:18.04 container: ubuntu:18.04
install: install:
- clang-7 - clang-7
# Linux, clang-8
# Note: clang-8 does not fully support C++20, so it is not compatible with libstdc++-8 in this mode # Note: clang-8 does not fully support C++20, so it is not compatible with libstdc++-8 in this mode
- toolset: clang - toolset: clang
compiler: clang++-8 compiler: clang++-8
@ -188,52 +226,76 @@ jobs:
- clang-8 - clang-8
- g++-7 - g++-7
gcc_toolchain: 7 gcc_toolchain: 7
# Linux, clang-9
- toolset: clang - toolset: clang
compiler: clang++-9 compiler: clang++-9
cxxstd: "03,11,14,17,2a" cxxstd: "03,11,14,17,2a"
os: ubuntu-20.04 os: ubuntu-latest
container: ubuntu:20.04
install: install:
- clang-9 - clang-9
# Linux, clang-10
- toolset: clang - toolset: clang
compiler: clang++-10 compiler: clang++-10
cxxstd: "03,11,14,17,20" cxxstd: "03,11,14,17,20"
os: ubuntu-20.04 os: ubuntu-latest
container: ubuntu:20.04
install: install:
- clang-10 - clang-10
# Linux, clang-11
- toolset: clang - toolset: clang
compiler: clang++-11 compiler: clang++-11
cxxstd: "03,11,14,17,20" cxxstd: "03,11,14,17,20"
os: ubuntu-22.04 os: ubuntu-latest
container: ubuntu:22.04
install: install:
- clang-11 - clang-11
# Linux, clang-12
- toolset: clang - toolset: clang
compiler: clang++-12 compiler: clang++-12
cxxstd: "03,11,14,17,20,2b" cxxstd: "03,11,14,17,20"
os: ubuntu-22.04 os: ubuntu-latest
container: ubuntu:22.04
install: install:
- clang-12 - clang-12
# Linux, clang-13
- toolset: clang - toolset: clang
compiler: clang++-13 compiler: clang++-13
cxxstd: "03,11,14,17,20,2b" cxxstd: "03,11,14,17,20"
os: ubuntu-22.04 os: ubuntu-latest
container: ubuntu:22.04
install: install:
- clang-13 - clang-13
# Linux, clang-14
- toolset: clang - toolset: clang
compiler: clang++-14 compiler: clang++-14
cxxstd: "03,11,14,17,20,2b" cxxstd: "03,11,14,17,20"
os: ubuntu-22.04 os: ubuntu-latest
container: ubuntu:22.04
install: install:
- clang-14 - clang-14
# Linux, clang-15
- toolset: clang - toolset: clang
compiler: clang++-15 compiler: clang++-15
cxxstd: "03,11,14,17,20"
container: ubuntu:22.04
os: ubuntu-latest
install: clang-15
# Linux, clang-16
- toolset: clang
compiler: clang++-16
cxxstd: "03,11,14,17,20,2b" cxxstd: "03,11,14,17,20,2b"
os: ubuntu-22.04 container: ubuntu:23.04
install: os: ubuntu-latest
- clang-15 install: clang-16
sources: # Linux, clang-17
- "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main" - toolset: clang
source_keys: compiler: clang++-17
- "https://apt.llvm.org/llvm-snapshot.gpg.key" cxxstd: "03,11,14,17,20,2b"
container: ubuntu:23.10
os: ubuntu-latest
install: clang-17
# Linux, clang-15 libc++
- toolset: clang - toolset: clang
compiler: clang++-15 compiler: clang++-15
cxxstd: "03,11,14,17,20,2b" cxxstd: "03,11,14,17,20,2b"
@ -248,10 +310,11 @@ jobs:
- "https://apt.llvm.org/llvm-snapshot.gpg.key" - "https://apt.llvm.org/llvm-snapshot.gpg.key"
cxxflags: -stdlib=libc++ cxxflags: -stdlib=libc++
linkflags: -stdlib=libc++ linkflags: -stdlib=libc++
# Linux, clang-14 libc++, ubsan
- name: UBSAN - name: UBSAN
toolset: clang toolset: clang
compiler: clang++-14 compiler: clang++-14
cxxstd: "03,11,14,17,20,2b" cxxstd: "03,11,14,17,20"
cxxflags: -stdlib=libc++ cxxflags: -stdlib=libc++
linkflags: -stdlib=libc++ linkflags: -stdlib=libc++
ubsan: 1 ubsan: 1
@ -260,13 +323,21 @@ jobs:
- clang-14 - clang-14
- libc++-14-dev - libc++-14-dev
- libc++abi-14-dev - libc++abi-14-dev
#------------------
# MacOS, clang
#------------------
# Macos 11, clang
- toolset: clang - toolset: clang
cxxstd: "03,11,14,17,2a" cxxstd: "03,11,14,17,2a"
os: macos-11 os: macos-11
# Macos 12, clang
- toolset: clang - toolset: clang
cxxstd: "03,11,14,17,2a" cxxstd: "03,11,14,17,20,2b"
os: macos-12 os: macos-12
# Macos 13, clang
- toolset: clang
cxxstd: "03,11,14,17,20,2b"
os: macos-13
timeout-minutes: 180 timeout-minutes: 180
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}