Skip to content

Commit 760bcbd

Browse files
committed
upgrade compilers
1 parent 32ce388 commit 760bcbd

1 file changed

Lines changed: 30 additions & 15 deletions

File tree

.github/workflows/test.yml

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,43 +20,58 @@ jobs:
2020
fail-fast: false
2121
matrix:
2222
include:
23-
# ── Linux / GCC 14 ──
23+
# ── Linux / GCC 16 ──
2424
- os: ubuntu-24.04
25-
compiler: gcc-14
25+
compiler: gcc-16
2626
preset: dev-gcc
2727

28-
# ── Linux / Clang 18 ──
28+
# ── Linux / Clang 22 ──
2929
- os: ubuntu-24.04
30-
compiler: clang-18+libc++
30+
compiler: clang-22+libc++
3131
preset: dev-clang-libcxx
3232

33-
# ── macOS 15 / AppleClang 16 ──
34-
- os: macos-15
35-
compiler: apple-clang-16
33+
# ── macOS 26 / AppleClang 17 ──
34+
- os: macos-26
35+
compiler: apple-clang-17
3636
preset: dev-clang
3737

38-
# ── Windows 2022 / MSVC ──
39-
- os: windows-2022
40-
compiler: msvc
38+
# ── Windows 2025 / MSVC 2026 ──
39+
- os: windows-2025
40+
compiler: msvc-2026
4141
preset: dev-msvc
4242

4343
steps:
4444
- uses: actions/checkout@v5
4545

4646
- name: Set up MSVC environment
47-
if: matrix.compiler == 'msvc'
47+
if: matrix.compiler == 'msvc-2026'
4848
shell: pwsh
4949
run: |
50-
$vcvars = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
50+
$vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" `
51+
-latest -property installationPath
52+
$vcvars = "$vsPath\VC\Auxiliary\Build\vcvars64.bat"
5153
cmd /c "`"$vcvars`" && set" | ForEach-Object {
5254
if ($_ -match '^([^=]+)=(.*)$') {
5355
"$($Matches[1])=$($Matches[2])" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
5456
}
5557
}
5658
57-
- name: Install libc++
58-
if: matrix.compiler == 'clang-18+libc++'
59-
run: sudo apt-get install -y libc++-18-dev libc++abi-18-dev
59+
- name: Install GCC 16
60+
if: matrix.compiler == 'gcc-16'
61+
run: |
62+
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
63+
sudo apt-get update -q
64+
sudo apt-get install -y gcc-16 g++-16
65+
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-16 100 \
66+
--slave /usr/bin/g++ g++ /usr/bin/g++-16
67+
68+
- name: Install Clang 22 + libc++
69+
if: matrix.compiler == 'clang-22+libc++'
70+
run: |
71+
wget -q https://apt.llvm.org/llvm.sh
72+
sudo bash llvm.sh 22 all
73+
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-22 100 \
74+
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-22
6075
6176
- name: Install Ninja
6277
if: runner.os == 'Linux'

0 commit comments

Comments
 (0)