1- ARG BASE_IMAGE_VERSION=ubuntu:noble-20260509.1
1+ ARG BASE_IMAGE_VERSION=ubuntu:26.04
22FROM ${BASE_IMAGE_VERSION} AS init
33
44ENV WORKDIR=/app
@@ -34,7 +34,7 @@ RUN apt-get -y update && \
3434 ca-certificates curl git ninja-build unzip zip && \
3535 rm -rf /var/lib/apt/lists/* && \
3636 mkdir /opt/vcpkg && \
37- git clone --branch ${VCPKG_VERSION} https://github.com/microsoft/vcpkg "${VCPKG_ROOT}" && \
37+ git clone --branch " ${VCPKG_VERSION}" https://github.com/microsoft/vcpkg "${VCPKG_ROOT}" && \
3838 /opt/vcpkg/bootstrap-vcpkg.sh && \
3939 ln -s /opt/vcpkg/vcpkg /usr/local/bin/vcpkg && \
4040 rm -rf /var/lib/apt/lists/* && \
@@ -69,12 +69,15 @@ FROM builder AS lint
6969RUN apt-get update && \
7070 apt-get -y install --no-install-recommends --no-install-suggests gnupg software-properties-common && \
7171 rm -rf /var/lib/apt/lists/*
72- ADD https://apt.llvm.org/llvm-snapshot.gpg.key llvm-snapshot.gpg.key
73- RUN apt-key add llvm-snapshot.gpg.key && \
74- apt-add-repository -y "deb https://apt.llvm.org/plucky/ llvm-toolchain-plucky-20 main" && \
72+
73+ RUN mkdir -p /etc/apt/keyrings && \
74+ curl -fsSL https://apt.llvm.org/llvm-snapshot.gpg.key \
75+ | gpg --dearmor -o /etc/apt/keyrings/llvm-snapshot.gpg && \
76+ echo "deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg] http://apt.llvm.org/resolute/ llvm-toolchain-resolute-22 main" \
77+ | tee /etc/apt/sources.list.d/llvm.list && \
7578 apt-get -y update && \
76- apt-get -y install --no-install-recommends --no-install-suggests clang-format-19 && \
77- update-alternatives --install /usr/bin/clang-format clang-format $(which clang-format-19 ) 100 && \
79+ apt-get -y install --no-install-recommends --no-install-suggests clang-format-22 && \
80+ update-alternatives --install /usr/bin/clang-format clang-format $(which clang-format-22 ) 100 && \
7881 rm -rf /var/lib/apt/lists/*
7982
8083ADD https://deb.nodesource.com/setup_22.x nodesource_setup.sh
@@ -83,10 +86,16 @@ RUN bash nodesource_setup.sh && \
8386 npm install -g --ignore-scripts markdownlint-cli@0.47.0 && \
8487 apt-get -y install --no-install-recommends --no-install-suggests python3-minimal python3-pip && \
8588 rm /usr/lib/python3.*/EXTERNALLY-MANAGED && \
86- pip install --no-cache-dir yamllint && \
89+ apt-get -y install --no-install-recommends --no-install-suggests yamllint && \
8790 apt-get -y install --no-install-recommends --no-install-suggests cppcheck && \
8891 rm -rf /var/lib/apt/lists/*
8992
93+ # Tooling test
94+ RUN clang-format --version && \
95+ markdownlint --version && \
96+ yamllint --version && \
97+ cppcheck --version
98+
9099# Code source
91100COPY ./src ${WORKDIR}/src
92101COPY ./vcpkg.json ${WORKDIR}/vcpkg.json
0 commit comments