Skip to content

Commit bf3f56b

Browse files
mizvekovalandefreitas
authored andcommitted
ci: add newer compilers to the matrix
This also: * Makes sure the ubuntu clang builds have libstdc++-14 installed, which is our minumum. * Bumps cpp-actions to v1.8.10 * Use the newest Xcode for MacOS.
1 parent 521cc70 commit bf3f56b

File tree

1 file changed

+27
-18
lines changed

1 file changed

+27
-18
lines changed

.github/workflows/ci.yml

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ jobs:
3030
uses: actions/checkout@v4
3131

3232
- name: Generate Test Matrix
33-
uses: alandefreitas/cpp-actions/[email protected].8
33+
uses: alandefreitas/cpp-actions/[email protected].10
3434
id: cpp-matrix
3535
with:
3636
compilers: |
37-
gcc 14
38-
clang 18
37+
gcc >=14
38+
clang >=18
3939
msvc >=14.40
4040
apple-clang *
4141
standards: '20'
@@ -60,7 +60,7 @@ jobs:
6060
install: |
6161
gcc: git build-essential pkg-config python3 curl openjdk-11-jdk pkg-config libncurses-dev libxml2-utils libxml2-dev
6262
gcc Coverage: git build-essential pkg-config python3 curl openjdk-11-jdk pkg-config libncurses-dev libxml2-utils libxml2-dev lcov
63-
clang: git build-essential pkg-config python3 curl openjdk-11-jdk pkg-config libncurses-dev libxml2-utils libxml2-dev
63+
clang: git build-essential pkg-config python3 curl openjdk-11-jdk pkg-config libncurses-dev libxml2-utils libxml2-dev g++-14=14.2.0-4ubuntu2~24.04
6464
msvc: ''
6565
extra-values: |
6666
llvm-hash: dd7a3d4d798e30dfe53b5bbbbcd9a23c24ea1af9
@@ -125,7 +125,7 @@ jobs:
125125

126126
steps:
127127
- name: Install Git
128-
uses: alandefreitas/cpp-actions/[email protected].8
128+
uses: alandefreitas/cpp-actions/[email protected].10
129129
if: matrix.container != ''
130130
env:
131131
DEBIAN_FRONTEND: 'noninteractive'
@@ -141,7 +141,7 @@ jobs:
141141
uses: actions/checkout@v4
142142

143143
- name: Install Git
144-
uses: alandefreitas/cpp-actions/[email protected].8
144+
uses: alandefreitas/cpp-actions/[email protected].10
145145
if: matrix.container != ''
146146
env:
147147
DEBIAN_FRONTEND: 'noninteractive'
@@ -162,12 +162,21 @@ jobs:
162162
uses: seanmiddleditch/gha-setup-ninja@v5
163163

164164
- name: Setup C++
165-
uses: alandefreitas/cpp-actions/[email protected].8
165+
uses: alandefreitas/cpp-actions/[email protected].10
166166
id: setup-cpp
167167
with:
168168
compiler: ${{ matrix.compiler }}
169169
version: ${{ matrix.version }}
170170

171+
# If apple-clang on macos, select the newest Xcode.
172+
- name: Select Xcode 16.4
173+
if: matrix.compiler == 'apple-clang'
174+
run: |
175+
sudo ls -1 /Applications | grep Xcode
176+
xcode-select --version
177+
sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
178+
${{ steps.setup-cpp.outputs.cxx }} -v
179+
171180
# If apple-clang on macos, we run `clang -print-targets` to
172181
# get the list of targets supported by the compiler.
173182
- name: Print Clang Targets
@@ -178,7 +187,7 @@ jobs:
178187
${{ steps.setup-cpp.outputs.cxx }} --print-target-triple
179188
180189
- name: Install System Packages
181-
uses: alandefreitas/cpp-actions/[email protected].8
190+
uses: alandefreitas/cpp-actions/[email protected].10
182191
if: matrix.compiler != 'msvc'
183192
id: package-install
184193
env:
@@ -238,7 +247,7 @@ jobs:
238247
fi
239248
240249
- name: Install LLVM
241-
uses: alandefreitas/cpp-actions/[email protected].8
250+
uses: alandefreitas/cpp-actions/[email protected].10
242251
if: steps.llvm-cache.outputs.cache-hit != 'true' && steps.llvm-download.outputs.found != 'true'
243252
with:
244253
cmake-version: '>=3.26'
@@ -263,7 +272,7 @@ jobs:
263272
trace-commands: true
264273

265274
- name: Install Duktape
266-
uses: alandefreitas/cpp-actions/[email protected].8
275+
uses: alandefreitas/cpp-actions/[email protected].10
267276
with:
268277
source-dir: ../third-party/duktape
269278
url: https://github.com/svaarala/duktape/releases/download/v2.7.0/duktape-2.7.0.tar.xz
@@ -283,7 +292,7 @@ jobs:
283292
trace-commands: true
284293

285294
- name: Install Fmt
286-
uses: alandefreitas/cpp-actions/[email protected].8
295+
uses: alandefreitas/cpp-actions/[email protected].10
287296
with:
288297
source-dir: ../third-party/fmt
289298
git-repository: https://github.com/fmtlib/fmt
@@ -303,7 +312,7 @@ jobs:
303312
trace-commands: true
304313

305314
- name: Install Libxml2
306-
uses: alandefreitas/cpp-actions/[email protected].8
315+
uses: alandefreitas/cpp-actions/[email protected].10
307316
if: matrix.compiler == 'msvc'
308317
with:
309318
source-dir: ../third-party/libxml2
@@ -360,7 +369,7 @@ jobs:
360369
node-version: '20'
361370

362371
- name: CMake Workflow
363-
uses: alandefreitas/cpp-actions/[email protected].8
372+
uses: alandefreitas/cpp-actions/[email protected].10
364373
with:
365374
cmake-version: '>=3.26'
366375
cxxstd: ${{ matrix.cxxstd }}
@@ -409,7 +418,7 @@ jobs:
409418
retention-days: 1
410419

411420
- name: FlameGraph
412-
uses: alandefreitas/cpp-actions/[email protected].8
421+
uses: alandefreitas/cpp-actions/[email protected].10
413422
if: matrix.time-trace
414423
with:
415424
build-dir: build
@@ -479,7 +488,7 @@ jobs:
479488

480489
steps:
481490
- name: Install packages
482-
uses: alandefreitas/cpp-actions/[email protected].8
491+
uses: alandefreitas/cpp-actions/[email protected].10
483492
id: package-install
484493
with:
485494
apt-get: build-essential asciidoctor cmake bzip2 git
@@ -538,7 +547,7 @@ jobs:
538547
$MRDOCS_ROOT/bin/mrdocs --version
539548
540549
- name: Clone Boost.URL
541-
uses: alandefreitas/cpp-actions/[email protected].8
550+
uses: alandefreitas/cpp-actions/[email protected].10
542551
id: boost-url-clone
543552
with:
544553
branch: develop
@@ -803,7 +812,7 @@ jobs:
803812
scp -o StrictHostKeyChecking=no -r $(pwd)/demos/* [email protected]:$demo_dir/
804813
805814
- name: Create changelog
806-
uses: alandefreitas/cpp-actions/[email protected].8
815+
uses: alandefreitas/cpp-actions/[email protected].10
807816
with:
808817
output-path: CHANGELOG.md
809818
thank-non-regular: ${{ startsWith(github.ref, 'refs/tags/') }}
@@ -845,7 +854,7 @@ jobs:
845854

846855
steps:
847856
- name: Install packages
848-
uses: alandefreitas/cpp-actions/[email protected].8
857+
uses: alandefreitas/cpp-actions/[email protected].10
849858
id: package-install
850859
with:
851860
apt-get: ${{ matrix.install }}

0 commit comments

Comments
 (0)