Skip to content

Commit 77349f9

Browse files
authored
Merge pull request #40 from StephanKa/feature/updated-infrastructure
Updated infrastructure
2 parents edf607a + 79862b7 commit 77349f9

File tree

11 files changed

+548
-53
lines changed

11 files changed

+548
-53
lines changed

.devcontainer/Dockerfile

Lines changed: 8 additions & 8 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=4.0.0
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, 20]
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="19"
4848
# Add clang-${LLVM_VER}
4949
ARG LLVM_URL="http://apt.llvm.org/${VARIANT}/"
5050
ARG LLVM_PKG="llvm-toolchain-${VARIANT}-${LLVM_VER}"
@@ -92,8 +92,8 @@ RUN apt-get autoremove -y && apt-get clean && \
9292
rm -rf /var/lib/apt/lists/*
9393

9494
## Install ARM GCC toolchain
95-
RUN 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" && \
96-
echo 84be93d0f9e96a15addd490b6e237f588c641c8afdf90e7610a628007fc96867 archive.tar.xz > /tmp/archive.sha256 && sha256sum -c /tmp/archive.sha256 && rm /tmp/archive.sha256 && \
95+
RUN wget -O archive.tar.xz "https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi.tar.xz" && \
96+
echo 62a63b981fe391a9cbad7ef51b17e49aeaa3e7b0d029b36ca1e9c3b2a9b78823 archive.tar.xz > /tmp/archive.sha256 && sha256sum -c /tmp/archive.sha256 && rm /tmp/archive.sha256 && \
9797
tar xf archive.tar.xz -C /opt
9898

9999
# Allow the user to set compiler defaults

.github/workflows/build_cmake.yml

Lines changed: 24 additions & 16 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,17 @@ 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 16', preset: clang-16, pkgs: 'clang-16 llvm-16'},
43+
{name: 'Clang 17', preset: clang-17, pkgs: 'clang-17 llvm-17'},
44+
{name: 'Clang 18', preset: clang-18, pkgs: 'clang-18 llvm-18'},
45+
{name: 'Clang 19', preset: clang-19, pkgs: 'clang-19 llvm-19'}
4146
]
4247
cxx: [17, 20]
4348

@@ -92,7 +97,8 @@ jobs:
9297
buildtype: [debug]
9398
compiler: [ {name: 'Clang 12', preset: clang-12, pkgs: 'clang-12 llvm-12'},
9499
{name: 'Clang 13', preset: clang-13, pkgs: 'clang-13 llvm-13'},
95-
{name: 'Clang 14', preset: clang-14, pkgs: 'clang-14 llvm-14'}
100+
{name: 'Clang 14', preset: clang-14, pkgs: 'clang-14 llvm-14'},
101+
{name: 'Clang 15', preset: clang-15, pkgs: 'clang-15 llvm-15'}
96102
]
97103
cxx: [17]
98104

@@ -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 19', preset: clang-19, pkgs: 'clang-19 llvm-19 llvm-19-dev libclang-19-dev', iwyu_branch: 'clang_19', path_prefix: "/usr/lib/llvm-19"}]
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/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi.tar.xz" && \
242+
echo 62a63b981fe391a9cbad7ef51b17e49aeaa3e7b0d029b36ca1e9c3b2a9b78823 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 19', preset: clang-19, pkgs: 'clang-19 llvm-19'} ]
255263

256264
steps:
257265
- uses: actions/checkout@v4
@@ -294,9 +302,9 @@ 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]
299-
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'} ]
307+
compiler: [ {name: 'Clang 18', preset: clang-18-qt, pkgs: 'clang-18 llvm-18 llvm-18-dev llvm-18-linker-tools llvm-18-tools llvm-18-runtime'} ]
300308
cxx: [20]
301309

302310
steps:

0 commit comments

Comments
 (0)