Skip to content

Commit f3f69d0

Browse files
committed
[ci] Add some older compilers
1 parent aa47380 commit f3f69d0

2 files changed

Lines changed: 45 additions & 1 deletion

File tree

.github/workflows/test.yml

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ jobs:
2525
compiler: gcc-16
2626
preset: dev-gcc
2727

28+
# ── Linux / GCC 14 ──
29+
- os: ubuntu-24.04
30+
compiler: gcc-14
31+
preset: dev-gcc
32+
2833
# ── Linux / Clang 22 ──
2934
- os: ubuntu-24.04
3035
compiler: clang-22
@@ -35,21 +40,41 @@ jobs:
3540
compiler: clang-22+libc++
3641
preset: dev-clang-libcxx
3742

43+
# ── Linux / Clang 18 ──
44+
- os: ubuntu-24.04
45+
compiler: clang-18
46+
preset: dev-clang
47+
3848
# ── macOS 26 / AppleClang 21 ──
3949
- os: macos-26
4050
compiler: apple-clang-21
4151
preset: dev-clang
4252

53+
# ── macOS 15 / AppleClang 16 ──
54+
- os: macos-15
55+
compiler: apple-clang-16
56+
preset: dev-clang
57+
4358
# ── Windows 2025 / MSVC 2026 ──
4459
- os: windows-2025
4560
compiler: msvc-2026
4661
preset: dev-msvc
4762

63+
# ── Windows 2022 / MSVC 2022 ──
64+
- os: windows-2022
65+
compiler: msvc-2022
66+
preset: dev-msvc
67+
68+
# ── Windows 2025 / Clang-CL ──
69+
- os: windows-2025
70+
compiler: clang-cl
71+
preset: dev-clang-cl
72+
4873
steps:
4974
- uses: actions/checkout@v5
5075

5176
- name: Set up MSVC environment
52-
if: matrix.compiler == 'msvc-2026'
77+
if: startsWith(matrix.compiler, 'msvc') || matrix.compiler == 'clang-cl'
5378
shell: pwsh
5479
run: |
5580
$vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" `
@@ -70,6 +95,12 @@ jobs:
7095
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-16 100 \
7196
--slave /usr/bin/g++ g++ /usr/bin/g++-16
7297
98+
- name: Install Clang 18
99+
if: matrix.compiler == 'clang-18'
100+
run: |
101+
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 200
102+
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 200
103+
73104
- name: Install Clang 22 + libc++
74105
if: startsWith(matrix.compiler, 'clang-22')
75106
run: |

CMakePresets.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,19 @@
7676
"CXXFLAGS": "/d1trimfile:\"${sourceDir}\""
7777
}
7878
},
79+
{
80+
"name": "dev-clang-cl",
81+
"displayName": "Clang-CL x64",
82+
"inherits": "base",
83+
"cacheVariables": {
84+
"CMAKE_C_COMPILER": "clang-cl",
85+
"CMAKE_CXX_COMPILER": "clang-cl"
86+
},
87+
"environment": {
88+
"CFLAGS": "/clang:-ffile-prefix-map=${sourceDir}=.",
89+
"CXXFLAGS": "/clang:-ffile-prefix-map=${sourceDir}=."
90+
}
91+
},
7992
{
8093
"name": "asan",
8194
"displayName": "ASan + UBSan / Clang",

0 commit comments

Comments
 (0)