Skip to content

Commit 13b6091

Browse files
sideshowbarkergmta
authored andcommitted
CI: Add wasm-tools to the build image
wasm-tools is needed at build time to generate the WebAssembly spec tests (INCLUDE_WASM_SPEC_TESTS), and the setup action downloads it from the bytecodealliance releases CDN for every build job. That CDN intermittently returns 504, which fails otherwise-green CI runs. Bake the pinned wasm-tools 1.243.0 into the ladybird-ci image so the Linux container jobs, which are the bulk of the build matrix, get it from the image instead of fetching it per run. A follow-up will drop the per-job download for the container platforms once this image is published. The macOS and Windows jobs run on native runners that do not use this image, so they keep downloading the same pinned version.
1 parent 1484686 commit 13b6091

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

Meta/Docker/ci/Dockerfile

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ FROM ubuntu:26.04
22

33
ARG GCC_VERSION=14
44
ARG LLVM_VERSION=21
5+
ARG WASM_TOOLS_VERSION=1.243.0
56

67
ENV DEBIAN_FRONTEND=noninteractive
78
ENV RUSTUP_HOME=/opt/rustup
@@ -100,3 +101,21 @@ RUN apt-get update -o APT::Update::Error-Mode=any \
100101
&& rustup component add rustfmt clippy \
101102
&& rm -rf /opt/rustup/downloads /opt/rustup/tmp /opt/cargo/registry /tmp/rust-toolchain.toml \
102103
&& rm -rf /var/lib/apt/lists/*
104+
105+
ARG TARGETARCH
106+
107+
# wasm-tools is required at build time to generate the WebAssembly spec tests
108+
# (INCLUDE_WASM_SPEC_TESTS). The version is pinned for reproducible test generation.
109+
RUN case "${TARGETARCH}" in \
110+
amd64) WASM_TOOLS_ARCH=x86_64 ;; \
111+
arm64) WASM_TOOLS_ARCH=aarch64 ;; \
112+
*) echo "Unsupported TARGETARCH: ${TARGETARCH}" >&2 ; exit 1 ;; \
113+
esac \
114+
&& NAME="wasm-tools-${WASM_TOOLS_VERSION}-${WASM_TOOLS_ARCH}-linux" \
115+
&& curl -fsSL --retry 5 --retry-delay 5 --retry-all-errors \
116+
"https://github.com/bytecodealliance/wasm-tools/releases/download/v${WASM_TOOLS_VERSION}/${NAME}.tar.gz" \
117+
-o /tmp/wasm-tools.tar.gz \
118+
&& tar -xzf /tmp/wasm-tools.tar.gz -C /tmp \
119+
&& install -m 0755 "/tmp/${NAME}/wasm-tools" /usr/local/bin/wasm-tools \
120+
&& rm -rf /tmp/wasm-tools.tar.gz "/tmp/${NAME}" \
121+
&& wasm-tools --version

Meta/Docker/ci/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2026.06.02
1+
2026.06.14

0 commit comments

Comments
 (0)