Skip to content

Commit a448ac3

Browse files
committed
chore: hoist-up xwin as well
1 parent a1d0653 commit a448ac3

1 file changed

Lines changed: 17 additions & 6 deletions

File tree

.devcontainer/cpp/Dockerfile

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,27 @@
11
# syntax=docker/dockerfile:1
22

3+
ARG DOCKER_VERSION=28.2.2
4+
ARG XWIN_VERSION=0.6.5
5+
36
FROM scratch AS downloader-amd64
7+
ARG DOCKER_VERSION
8+
ARG XWIN_VERSION
49
ADD --checksum=sha256:53dc06dc3f775282ddff93b2d0974bbe6480761018c61e7a797342a9c7f14e23 \
5-
https://download.docker.com/linux/static/stable/x86_64/docker-28.2.2.tgz /docker.tgz
10+
https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz /docker.tgz
611
ADD --checksum=sha256:62a63b981fe391a9cbad7ef51b17e49aeaa3e7b0d029b36ca1e9c3b2a9b78823 \
712
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 /arm-gnu-toolchain.tar.xz
13+
ADD --checksum=sha256:9fd53950b064d067f42428a69453b927656cae68dbd7f8d3f86dcb81c80dd22d \
14+
https://github.com/Jake-Shadle/xwin/releases/download/${XWIN_VERSION}/xwin-${XWIN_VERSION}-x86_64-unknown-linux-musl.tar.gz /xwin.tar.gz
815

916
FROM scratch AS downloader-arm64
17+
ARG DOCKER_VERSION
18+
ARG XWIN_VERSION
1019
ADD --checksum=sha256:c9506628d1845c69230df3d87e2eedd7980caf8bd966f5e6a5d7a2364de42497 \
11-
https://download.docker.com/linux/static/stable/aarch64/docker-28.2.2.tgz /docker.tgz
20+
https://download.docker.com/linux/static/stable/aarch64/docker-${DOCKER_VERSION}.tgz /docker.tgz
1221
ADD --checksum=sha256:87330bab085dd8749d4ed0ad633674b9dc48b237b61069e3b481abd364d0a684 \
1322
https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-aarch64-arm-none-eabi.tar.xz /arm-gnu-toolchain.tar.xz
23+
ADD --checksum=sha256:5e131007fad7c5f30d2f41090b49937fb8f16a787e5a95b4b3140e88d174dab2 \
24+
https://github.com/Jake-Shadle/xwin/releases/download/${XWIN_VERSION}/xwin-${XWIN_VERSION}-aarch64-unknown-linux-musl.tar.gz /xwin.tar.gz
1425

1526
FROM downloader-$TARGETARCH AS downloader
1627
ADD --checksum=sha256:ce6eee4130298f79b0e0f09a89f93c1bc711cd68e7e3182d37c8e96c5227e2f0 \
@@ -20,6 +31,8 @@ ADD --checksum=sha256:db2938ce5fd422f2db7a07508452772c945135d99274004c462190c323
2031

2132
FROM ubuntu:24.04@sha256:6015f66923d7afbc53558d7ccffd325d43b4e249f41a6e93eef074c9505d2233 AS extractor
2233

34+
ARG XWIN_VERSION
35+
2336
WORKDIR /tmp
2437

2538
# hadolint ignore=DL3008
@@ -28,6 +41,7 @@ RUN --mount=from=downloader,target=/dl \
2841
--mount=type=cache,target=/var/lib/apt,sharing=locked \
2942
apt-get update && apt-get install -y --no-install-recommends xz-utils \
3043
&& tar xzf /dl/docker.tgz \
44+
&& tar xzf /dl/xwin.tar.gz --strip-components=1 "xwin-${XWIN_VERSION}-$(uname -m)-unknown-linux-musl/xwin" \
3145
&& tar xJf /dl/arm-gnu-toolchain.tar.xz --exclude='*arm-none-eabi-gdb*' --exclude='share' \
3246
&& mv arm-gnu-toolchain-*/ gcc-arm-none-eabi
3347

@@ -38,7 +52,6 @@ ARG CCACHE_VERSION=4.11
3852
ARG CLANG_VERSION=18
3953
ARG CPM_VERSION=0.40.2
4054
ARG INCLUDE_WHAT_YOU_USE_VERSION=0.22
41-
ARG XWIN_VERSION=0.6.5
4255

4356
ARG DEBIAN_FRONTEND=noninteractive
4457

@@ -87,6 +100,7 @@ ENV PATH="$PATH:/opt/gcc-arm-none-eabi/bin"
87100

88101
# Copy tools from the extractor stage
89102
COPY --from=extractor /tmp/docker/docker /usr/local/bin
103+
COPY --from=extractor /tmp/xwin /usr/local/bin/xwin
90104
COPY --from=extractor /tmp/gcc-arm-none-eabi /opt/gcc-arm-none-eabi
91105

92106
# Install bats
@@ -97,9 +111,6 @@ RUN batstmp="$(mktemp -d /tmp/bats-core-${BATS_VERSION}.XXXX)" \
97111
&& git -C /usr/local clone -b v0.3.0 https://github.com/bats-core/bats-support.git \
98112
&& git -C /usr/local clone -b v2.1.0 https://github.com/bats-core/bats-assert.git
99113

100-
# Install xwin
101-
RUN wget -qO - "https://github.com/Jake-Shadle/xwin/releases/download/${XWIN_VERSION}/xwin-${XWIN_VERSION}-$(uname -m)-unknown-linux-musl.tar.gz" | tar -xzv -C /usr/local/bin --strip-components=1 "xwin-${XWIN_VERSION}-$(uname -m)-unknown-linux-musl/xwin"
102-
103114
# Compile and install additional clang tools; often necessary as binary arm64 builds are lacking, or packages are out-of-date
104115
# Install ccache from source for a recent version
105116
RUN wget -qO - https://github.com/ccache/ccache/archive/refs/tags/v${CCACHE_VERSION}.tar.gz | tar xz -C /tmp \

0 commit comments

Comments
 (0)