From e46ab81273fbcd41e2f55f49e9431fc8747eaa3f Mon Sep 17 00:00:00 2001 From: whit3rabbit Date: Sun, 14 Jun 2026 18:35:13 -0500 Subject: [PATCH] fix(docker): disable cargo HTTP/2 multiplexing for arm64 builds GitHub's arm64 Docker builders intermittently hit "[16] Error in the HTTP2 framing layer" during cargo-chef's sparse-index fetches, panicking the cook step (recipe.rs:224) and failing the v0.9.9 arm64 release build. Set CARGO_HTTP_MULTIPLEXING=false + CARGO_NET_RETRY=5 in the chef stage, inherited by planner and builder. Multiplexing-off is the canonical workaround for transient crates.io HTTP/2 framing errors. Co-Authored-By: Claude Opus 4.8 (1M context) --- Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Dockerfile b/Dockerfile index 391712e..9b8f4c8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,6 +11,10 @@ RUN npm run build # ── Stage 2: install cargo-chef ─────────────────────────────────────────────── FROM rust:1-alpine AS chef RUN apk add --no-cache musl-dev openssl-dev openssl-libs-static +# GitHub's arm64 Docker builders have hit transient crates.io HTTP/2 framing +# errors during sparse-index fetches. Disable multiplexing and allow retries. +ENV CARGO_HTTP_MULTIPLEXING=false \ + CARGO_NET_RETRY=5 RUN cargo install cargo-chef --locked WORKDIR /app