Skip to content

Commit 8b9c510

Browse files
committed
updated infrastructure
1 parent edf607a commit 8b9c510

File tree

9 files changed

+316
-41
lines changed

9 files changed

+316
-41
lines changed

.devcontainer/Dockerfile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# [Choice] focal (20.04), jammy (22.04), lunar (23.04)
2-
ARG VARIANT="lunar"
1+
# [Choice] focal (20.04), jammy (22.04), lunar (23.04), noble (24.04)
2+
ARG VARIANT="noble"
33
FROM ubuntu:${VARIANT}
44

55
# Restate the variant to use it later on in the llvm and cmake installations
66
ARG VARIANT
7-
ARG CMAKE_VERSION=3.28.3
7+
ARG CMAKE_VERSION=3.30.5
88
ENV PATH="${PATH}:/cmake-${CMAKE_VERSION}-linux-x86_64/bin/:"
99

1010
# Install necessary packages available from standard repos
@@ -31,9 +31,9 @@ ENV CONAN_SYSREQUIRES_SUDO 0
3131
ENV CONAN_SYSREQUIRES_MODE enabled
3232

3333
# User-settable versions:
34-
# This Dockerfile should support gcc-[10, 11, 12, 13] and clang-[10, 11, 12, 13, 14, 15, 16, 17]
34+
# This Dockerfile should support gcc-[10, 11, 12, 13, 14] and clang-[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
3535
# Earlier versions of clang will require significant modifications to the IWYU section
36-
ARG GCC_VER="12"
36+
ARG GCC_VER="14"
3737
# Add gcc-${GCC_VER}
3838
RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test && \
3939
apt-get update -qq && export DEBIAN_FRONTEND=noninteractive && \
@@ -44,7 +44,7 @@ RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test && \
4444
RUN update-alternatives --install /usr/bin/gcc gcc $(which gcc-${GCC_VER}) 100
4545
RUN update-alternatives --install /usr/bin/g++ g++ $(which g++-${GCC_VER}) 100
4646

47-
ARG LLVM_VER="15"
47+
ARG LLVM_VER="17"
4848
# Add clang-${LLVM_VER}
4949
ARG LLVM_URL="http://apt.llvm.org/${VARIANT}/"
5050
ARG LLVM_PKG="llvm-toolchain-${VARIANT}-${LLVM_VER}"

.github/workflows/build_cmake.yml

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ env:
1010
jobs:
1111
docker:
1212
name: Test docker images
13-
runs-on: ubuntu-22.04
13+
runs-on: ubuntu-24.04
1414
steps:
1515
- uses: actions/checkout@v4
1616

@@ -32,12 +32,18 @@ jobs:
3232
strategy:
3333
fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix entry fails.
3434
matrix:
35-
os: [ubuntu-22.04]
35+
os: [ubuntu-24.04]
3636
buildtype: [debug]
3737
compiler: [ {name: 'GCC 10', preset: gcc-10, pkgs: 'gcc-10 g++-10 lib32gcc-10-dev gcc-multilib'},
3838
{name: 'GCC 11', preset: gcc-11, pkgs: 'gcc-11 g++-11 lib32gcc-11-dev gcc-multilib'},
3939
{name: 'GCC 12', preset: gcc-12, pkgs: 'gcc-12 g++-12 lib32gcc-12-dev gcc-multilib'},
40-
{name: 'Clang 15', preset: clang-15, pkgs: 'clang-15 llvm-15'}
40+
{name: 'GCC 13', preset: gcc-13, pkgs: 'gcc-13 g++-13 lib32gcc-13-dev gcc-multilib'},
41+
{name: 'GCC 14', preset: gcc-14, pkgs: 'gcc-14 g++-14 lib32gcc-14-dev gcc-multilib'},
42+
{name: 'Clang 15', preset: clang-15, pkgs: 'clang-15 llvm-15'},
43+
{name: 'Clang 16', preset: clang-16, pkgs: 'clang-16 llvm-16'},
44+
{name: 'Clang 17', preset: clang-17, pkgs: 'clang-17 llvm-17'},
45+
{name: 'Clang 18', preset: clang-18, pkgs: 'clang-18 llvm-18'},
46+
{name: 'Clang 19', preset: clang-19, pkgs: 'clang-19 llvm-19'}
4147
]
4248
cxx: [17, 20]
4349

@@ -88,7 +94,7 @@ jobs:
8894
strategy:
8995
fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix entry fails.
9096
matrix:
91-
os: [ubuntu-22.04]
97+
os: [ubuntu-24.04]
9298
buildtype: [debug]
9399
compiler: [ {name: 'Clang 12', preset: clang-12, pkgs: 'clang-12 llvm-12'},
94100
{name: 'Clang 13', preset: clang-13, pkgs: 'clang-13 llvm-13'},
@@ -141,9 +147,10 @@ jobs:
141147
strategy:
142148
fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix entry fails.
143149
matrix:
144-
os: [ubuntu-22.04]
150+
os: [ubuntu-24.04]
145151
buildtype: [debug]
146-
compiler: [{name: 'Clang 15', preset: clang-15, pkgs: 'clang-15 llvm-15 llvm-15-dev libclang-15-dev', iwyu_branch: 'clang_15', path_prefix: "/usr/lib/llvm-15"}]
152+
compiler: [{name: 'Clang 17', preset: clang-17, pkgs: 'clang-17 llvm-17 llvm-17-dev libclang-17-dev', iwyu_branch: 'clang_17', path_prefix: "/usr/lib/llvm-17"}]
153+
cxx: [17, 20]
147154

148155
steps:
149156
- uses: actions/checkout@v4
@@ -187,20 +194,21 @@ jobs:
187194

188195
- name: Configure via CMake
189196
shell: bash
190-
run: cmake --preset unixlike-${{ matrix.compiler.preset }}-${{ matrix.buildtype }}-static-analysis -DCXX_STANDARD=17
197+
run: cmake --preset unixlike-${{ matrix.compiler.preset }}-${{ matrix.buildtype }}-static-analysis -DCXX_STANDARD=${{ matrix.cxx }}
191198

192199
- name: Build
193200
shell: bash
194201
run: cmake --build --preset build-unixlike-${{ matrix.compiler.preset }}-${{ matrix.buildtype }}-static-analysis
195202

196203
linux-cross-compiling-armv7:
197-
name: ARM GCC, ${{ matrix.os }}, ${{ matrix.buildtype }}
204+
name: ARM GCC, ${{ matrix.os }}, C++${{ matrix.cxx }}, ${{ matrix.buildtype }}
198205
runs-on: ${{ matrix.os }}
199206
strategy:
200207
fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix entry fails.
201208
matrix:
202-
os: [ubuntu-22.04]
209+
os: [ubuntu-24.04]
203210
buildtype: [debug, release]
211+
cxx: [17, 20]
204212

205213
steps:
206214
- uses: actions/checkout@v4
@@ -230,14 +238,14 @@ jobs:
230238

231239
- name: Install GCC ARM
232240
run: |
233-
wget -O archive.tar.xz "https://developer.arm.com/-/media/Files/downloads/gnu/12.2.rel1/binrel/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi.tar.xz?rev=7bd049b7a3034e64885fa1a71c12f91d&hash=732D909FA8F68C0E1D0D17D08E057619" && \
234-
echo 84be93d0f9e96a15addd490b6e237f588c641c8afdf90e7610a628007fc96867 archive.tar.xz > /tmp/archive.sha256 && sha256sum -c /tmp/archive.sha256 && rm /tmp/archive.sha256 && \
241+
wget -O archive.tar.xz "https://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz" && \
242+
echo 95c011cee430e64dd6087c75c800f04b9c49832cc1000127a92a97f9c8d83af4 archive.tar.xz > /tmp/archive.sha256 && sha256sum -c /tmp/archive.sha256 && rm /tmp/archive.sha256 && \
235243
tar xf archive.tar.xz -C /opt
236244
shell: bash
237245

238246
- name: Configure via CMake
239247
shell: bash
240-
run: cmake --preset gcc-arm-${{ matrix.buildtype }}
248+
run: cmake --preset gcc-arm-${{ matrix.buildtype }} -DCXX_STANDARD=${{ matrix.cxx }}
241249

242250
- name: Build
243251
shell: bash
@@ -249,9 +257,9 @@ jobs:
249257
strategy:
250258
fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix entry fails.
251259
matrix:
252-
os: [ubuntu-22.04]
260+
os: [ubuntu-24.04]
253261
buildtype: [debug]
254-
compiler: [ {name: 'Clang 15', preset: clang-15, pkgs: 'clang-15 llvm-15'} ]
262+
compiler: [ {name: 'Clang 17', preset: clang-17, pkgs: 'clang-17 llvm-17'} ]
255263

256264
steps:
257265
- uses: actions/checkout@v4
@@ -294,7 +302,7 @@ jobs:
294302
strategy:
295303
fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix entry fails.
296304
matrix:
297-
os: [ubuntu-22.04]
305+
os: [ubuntu-24.04]
298306
buildtype: [debug]
299307
compiler: [ {name: 'Clang 15', preset: clang-15-qt, pkgs: 'clang-15 llvm-15 llvm-15-dev llvm-15-linker-tools llvm-15-tools llvm-15-runtime'} ]
300308
cxx: [20]

0 commit comments

Comments
 (0)