Skip to content

Commit 675b6f2

Browse files
committed
GHA: Update OS versions, remove containers where possible and add new compilers
1 parent 3743c9e commit 675b6f2

File tree

1 file changed

+36
-27
lines changed

1 file changed

+36
-27
lines changed

.github/workflows/ci.yml

Lines changed: 36 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -86,39 +86,48 @@ jobs:
8686
include:
8787
# Linux, gcc
8888
# GCC 5 is the first to have enough C++11 support, so don't test anything older except for one to verify the checks
89-
- { compiler: gcc-4.9, cxxstd: '03,11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
90-
- { compiler: gcc-5, cxxstd: '03,11,14,1z', os: ubuntu-22.04, container: 'ubuntu:18.04' }
91-
- { compiler: gcc-6, cxxstd: '11,14,17', os: ubuntu-22.04, container: 'ubuntu:18.04' }
92-
- { compiler: gcc-7, cxxstd: '11,14,17', os: ubuntu-22.04, container: 'ubuntu:18.04' }
93-
- { compiler: gcc-8, cxxstd: '11,14,17,2a', os: ubuntu-22.04, container: 'ubuntu:18.04' }
94-
- { compiler: gcc-9, cxxstd: '11,14,17,2a', os: ubuntu-22.04, container: 'ubuntu:18.04' }
95-
- { compiler: gcc-10, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
96-
- { compiler: gcc-11, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
89+
- { compiler: gcc-4.9, cxxstd: '03,11', os: ubuntu-latest, container: 'ubuntu:16.04' }
90+
- { compiler: gcc-5, cxxstd: '03,11,14,1z', os: ubuntu-latest, container: 'ubuntu:18.04' }
91+
- { compiler: gcc-6, cxxstd: '11,14,17', os: ubuntu-latest, container: 'ubuntu:18.04' }
92+
# GCC 7 & 8 on Ubuntu 20 show failures in basic_filebuf::_M_convert_to_external conversion
93+
- { compiler: gcc-7, cxxstd: '11,14,17', os: ubuntu-latest, container: 'ubuntu:18.04' }
94+
- { compiler: gcc-8, cxxstd: '11,14,17,2a', os: ubuntu-latest, container: 'ubuntu:18.04' }
95+
- { compiler: gcc-9, cxxstd: '11,14,17,2a', os: ubuntu-20.04 }
96+
- { compiler: gcc-10, cxxstd: '11,14,17,20', os: ubuntu-22.04 }
97+
- { compiler: gcc-11, cxxstd: '11,14,17,20', os: ubuntu-22.04 }
98+
- { compiler: gcc-12, cxxstd: '11,14,17,20', os: ubuntu-22.04 }
99+
- { compiler: gcc-13, cxxstd: '11,14,17,20,2b', os: ubuntu-24.04 }
100+
- { compiler: gcc-14, cxxstd: '11,14,17,20,2b', os: ubuntu-24.04 }
101+
97102
- { name: GCC w/ sanitizers, sanitize: yes,
98-
compiler: gcc-12, cxxstd: '11,14,17,20', os: ubuntu-22.04 }
103+
compiler: gcc-13, cxxstd: '11,14,17,20', os: ubuntu-24.04 }
99104
- { name: Collect coverage, coverage: yes,
100-
compiler: gcc-8, cxxstd: '11,2a', os: ubuntu-20.04, install: 'g++-8-multilib', address-model: '32,64' }
105+
compiler: gcc-8, cxxstd: '11,2a', os: ubuntu-20.04, install: 'g++-8-multilib', address-model: '32,64' }
101106

102107
# Linux, clang
103-
- { compiler: clang-3.5, cxxstd: '03,11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
104-
- { compiler: clang-3.6, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
105-
- { compiler: clang-3.7, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
106-
- { compiler: clang-3.8, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
107-
- { compiler: clang-3.9, cxxstd: '11,14', os: ubuntu-22.04, container: 'ubuntu:18.04' }
108-
- { compiler: clang-4.0, cxxstd: '11,14', os: ubuntu-22.04, container: 'ubuntu:18.04' }
109-
- { compiler: clang-5.0, cxxstd: '11,14,1z', os: ubuntu-22.04, container: 'ubuntu:18.04' }
110-
- { compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-22.04, container: 'ubuntu:18.04' }
111-
- { compiler: clang-7, cxxstd: '11,14,17', os: ubuntu-22.04, container: 'ubuntu:18.04' }
108+
- { compiler: clang-3.5, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:16.04' }
109+
- { compiler: clang-3.6, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:16.04' }
110+
- { compiler: clang-3.7, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:16.04' }
111+
- { compiler: clang-3.8, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:16.04' }
112+
- { compiler: clang-3.9, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:18.04' }
113+
- { compiler: clang-4.0, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:18.04' }
114+
- { compiler: clang-5.0, cxxstd: '11,14,1z', os: ubuntu-latest, container: 'ubuntu:18.04' }
115+
- { compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-20.04 }
116+
- { compiler: clang-7, cxxstd: '11,14,17', os: ubuntu-20.04 }
112117
# Note: clang-8 does not fully support C++20, so it is not compatible with some libstdc++ versions in this mode
113-
- { compiler: clang-8, cxxstd: '11,14,17,2a', os: ubuntu-22.04, container: 'ubuntu:18.04', install: 'clang-8 g++-7', gcc_toolchain: 7 }
114-
- { compiler: clang-9, cxxstd: '11,14,17,2a', os: ubuntu-20.04 }
115-
- { compiler: clang-10, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
116-
- { compiler: clang-11, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
117-
- { compiler: clang-12, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
118+
- { compiler: clang-8, cxxstd: '11,14,17,2a', os: ubuntu-20.04 , install: 'clang-8 g++-7', gcc_toolchain: 7 }
119+
- { compiler: clang-9, cxxstd: '11,14,17,2a', os: ubuntu-20.04 }
120+
- { compiler: clang-10, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
121+
- { compiler: clang-11, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
122+
- { compiler: clang-12, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
118123
# Clang isn't compatible with libstdc++-13, so use the slightly older one
119-
- { compiler: clang-13, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-13 g++-12', gcc_toolchain: 12 }
120-
- { compiler: clang-14, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-14 g++-12', gcc_toolchain: 12 }
121-
- { compiler: clang-15, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-15 g++-12', gcc_toolchain: 12 }
124+
- { compiler: clang-13, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-13 g++-12', gcc_toolchain: 12 }
125+
- { compiler: clang-14, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-14 g++-12', gcc_toolchain: 12 }
126+
- { compiler: clang-15, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-15 g++-12', gcc_toolchain: 12 }
127+
- { compiler: clang-16, cxxstd: '11,14,17,20,2b', os: ubuntu-24.04 }
128+
# https://github.com/llvm/llvm-project/issues/59827: disabled 2b/23 for clang-17 with libstdc++13 in 24.04
129+
- { compiler: clang-17, cxxstd: '11,14,17,20', os: ubuntu-24.04 }
130+
- { compiler: clang-18, cxxstd: '11,14,17,20,23,2c', os: ubuntu-24.04 }
122131

123132
# libc++
124133
- { compiler: clang-6.0, cxxstd: '11,14', os: ubuntu-22.04, container: 'ubuntu:18.04', stdlib: libc++, install: 'clang-6.0 libc++-dev libc++abi-dev' }

0 commit comments

Comments
 (0)