Skip to content

Commit 618174e

Browse files
authored
chore(deps): update ccache to v4.13.1 in amp-devcontainer-cpp (#1201)
* feat: update ccache to v4.13.1 * feat: fix Dockerfile syntax * feat: fix build * feat: fix build again * feat: fix extraction of ccache * chore: process review comments --------- Signed-off-by: Ron <45816308+rjaegers@users.noreply.github.com>
1 parent 9c53d4a commit 618174e

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

.devcontainer/cpp/Dockerfile

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22
# hadolint global ignore=DL3006
33

44
ARG BASE_IMAGE=ghcr.io/philips-software/amp-devcontainer-base:edge
5-
ARG CCACHE_VERSION=4.12.2
5+
# Public minisign key for verifying ccache releases,
6+
# taken from https://ccache.dev/minisign.pub
7+
ARG CCACHE_MINISIGN_PUBKEY=RWQX7yXbBedVfI4PNx6FLdFXu9GHUFsr28s4BVGxm4BeybtnX3P06saF
8+
ARG CCACHE_VERSION=4.13.1
69
ARG XWIN_VERSION=0.8.0
710

811
# Downloader stage for AMD64 architecture
@@ -11,8 +14,10 @@ FROM scratch AS downloader-amd64
1114
ARG CCACHE_VERSION
1215
ARG XWIN_VERSION
1316

14-
ADD --checksum=sha256:630c34ec94d451b200f5b14a6a25580d6a45bc80c394b7e0b93e33556eee5d32 \
15-
https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}-linux-x86_64.tar.xz /ccache.tar.xz
17+
ADD --checksum=sha256:dd9fc188e738add3c12509063bb082b05e77a9a71fa85a20e01230044aa410f1 \
18+
https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}-linux-x86_64-glibc.tar.xz /ccache.tar.xz
19+
ADD --checksum=sha256:fdf00b1eadebf437e898ca3c0c94fd3e8d03b9e2bbe4f3d74ac6df2fecbf0a74 \
20+
https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}-linux-x86_64-glibc.tar.xz.minisig /ccache.tar.xz.minisig
1621
ADD --checksum=sha256:8a354e12475dd154d0a2d3084eefd2c105f872ec8062965baaa7e9f2f76fe611 \
1722
https://github.com/Jake-Shadle/xwin/releases/download/${XWIN_VERSION}/xwin-${XWIN_VERSION}-x86_64-unknown-linux-musl.tar.gz /xwin.tar.gz
1823

@@ -22,8 +27,10 @@ FROM scratch AS downloader-arm64
2227
ARG CCACHE_VERSION
2328
ARG XWIN_VERSION
2429

25-
ADD --checksum=sha256:b01c270c245e41998ab777164aba085dbeb23ce515f4e2134a1fdddabf0bf6ad \
26-
https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}-linux-aarch64.tar.xz /ccache.tar.xz
30+
ADD --checksum=sha256:4cf4b05d9c381b3a60f1f10189f45ad9402bbc58979dbdc4901659c7f5e42dc8 \
31+
https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}-linux-aarch64-glibc.tar.xz /ccache.tar.xz
32+
ADD --checksum=sha256:24b50ebf8ce5ec9e5e56af298ddb17699a46f0d9bb035d7c824500270a5cde74 \
33+
https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}-linux-aarch64-glibc.tar.xz.minisig /ccache.tar.xz.minisig
2734
ADD --checksum=sha256:fe106caefbb316664d73fd03166c28c09e580bb2a3ad65b4d50c51c67368aeab \
2835
https://github.com/Jake-Shadle/xwin/releases/download/${XWIN_VERSION}/xwin-${XWIN_VERSION}-aarch64-unknown-linux-musl.tar.gz /xwin.tar.gz
2936

@@ -40,14 +47,20 @@ ADD --checksum=sha256:db2938ce5fd422f2db7a07508452772c945135d99274004c462190c323
4047
# Extractor stage using target architecture specific downloader
4148
FROM ${BASE_IMAGE} AS extractor
4249

50+
ARG CCACHE_MINISIGN_PUBKEY
4351
ARG CCACHE_VERSION
4452
ARG XWIN_VERSION
4553

4654
SHELL ["/bin/bash", "-Eeuo", "pipefail", "-c"]
4755

4856
WORKDIR /
4957

50-
RUN --mount=from=downloader,target=/dl <<EOF
58+
# hadolint ignore=DL3008
59+
RUN --mount=from=downloader,target=/dl \
60+
--mount=type=cache,target=/var/cache/apt,sharing=locked \
61+
--mount=type=cache,target=/var/lib/apt,sharing=locked <<EOF
62+
apt-get update && apt-get install --no-install-recommends -y minisign
63+
5164
ARM_GNU_TOOLCHAIN_URL="https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-$(uname -m)-arm-none-eabi.tar.xz"
5265
ARM_GNU_TOOLCHAIN_TAR="/tmp/arm-gnu-toolchain.tar.xz"
5366

@@ -60,8 +73,10 @@ RUN --mount=from=downloader,target=/dl <<EOF
6073
wget --no-hsts -qO "${ARM_GNU_TOOLCHAIN_TAR}" "${ARM_GNU_TOOLCHAIN_URL}"
6174
echo "${ARM_GNU_TOOLCHAIN_SHA256} ${ARM_GNU_TOOLCHAIN_TAR}" | sha256sum -c -
6275

76+
minisign -P "${CCACHE_MINISIGN_PUBKEY}" -Vm /dl/ccache.tar.xz
77+
6378
tar xJf "${ARM_GNU_TOOLCHAIN_TAR}" --exclude="*arm-none-eabi-gdb*" --exclude="share"
64-
tar xJf /dl/ccache.tar.xz --strip-components=1 "ccache-${CCACHE_VERSION}-linux-$(uname -m)/ccache"
79+
tar xJf /dl/ccache.tar.xz --strip-components=1 "ccache-${CCACHE_VERSION}-linux-$(uname -m)-glibc/ccache"
6580
tar xzf /dl/xwin.tar.gz --strip-components=1 "xwin-${XWIN_VERSION}-$(uname -m)-unknown-linux-musl/xwin"
6681
cp /dl/llvm.gpg.key /llvm.gpg.key
6782
cp /dl/mull.gpg.key /mull.gpg.key
@@ -90,7 +105,6 @@ ENV CCACHE_DIR=/cache/.ccache \
90105
PYTHONPYCACHEPREFIX=/cache/.python
91106

92107
# Install the base system with all tool dependencies
93-
# hadolint ignore=DL3008
94108
RUN --mount=type=bind,source=.devcontainer/cpp/apt-requirements-base.json,target=/tmp/apt-requirements-base.json \
95109
--mount=type=bind,source=.devcontainer/cpp/apt-requirements-clang.json,target=/tmp/apt-requirements-clang.json \
96110
--mount=type=bind,source=.devcontainer/cpp/requirements.txt,target=/tmp/requirements.txt \

0 commit comments

Comments
 (0)