From b656d4fbf7b57d9fd87ee79964de4fccc31f2568 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 8 Mar 2026 10:52:59 +0000 Subject: [PATCH 1/4] Initial plan From 908cff35fe6db5f454fabb2429cf491ab75fd726 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 8 Mar 2026 10:54:49 +0000 Subject: [PATCH 2/4] Convert docker/golang/Dockerfile to multi-stage build Co-authored-by: chipitsine <2217296+chipitsine@users.noreply.github.com> --- docker/golang/Dockerfile | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/docker/golang/Dockerfile b/docker/golang/Dockerfile index f6540754e..006406c77 100644 --- a/docker/golang/Dockerfile +++ b/docker/golang/Dockerfile @@ -1,3 +1,19 @@ +FROM ubuntu:bionic AS brotli-builder + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && \ + apt-get -y install \ + build-essential cmake && \ + rm -rf /var/lib/apt/lists/* + +COPY submodules/brotli /tmp/brotli + +RUN cd /tmp/brotli && \ + mkdir out && cd out && \ + cmake -DCMAKE_INSTALL_PREFIX=/brotli-install .. && \ + make -j$(nproc) && make install + FROM ubuntu:bionic # custom golang image with CMake and Brotli support (compatible with ubuntu 18.04..22.04) @@ -24,9 +40,4 @@ RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" RUN wget https://github.com/Kitware/CMake/releases/download/v3.31.0/cmake-3.31.0-linux-x86_64.tar.gz && \ tar xf cmake-3.31.0-linux-x86_64.tar.gz -C /usr --strip-components=1 && rm cmake-3.31.0-linux-x86_64.tar.gz -COPY submodules/ tmp/ - -RUN cd tmp/brotli && \ - mkdir out && cd out && \ - cmake .. && \ - make && make install +COPY --from=brotli-builder /brotli-install/ /usr/local/ From ff6ea6faea85f99c57f82b8942314fa3241b2dcc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 8 Mar 2026 11:07:55 +0000 Subject: [PATCH 3/4] fix: clone brotli from git in builder stage instead of empty submodule COPY Co-authored-by: chipitsine <2217296+chipitsine@users.noreply.github.com> --- docker/golang/Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/golang/Dockerfile b/docker/golang/Dockerfile index 006406c77..b5821b4d8 100644 --- a/docker/golang/Dockerfile +++ b/docker/golang/Dockerfile @@ -4,10 +4,11 @@ ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ apt-get -y install \ - build-essential cmake && \ + build-essential cmake git && \ rm -rf /var/lib/apt/lists/* -COPY submodules/brotli /tmp/brotli +RUN git clone https://github.com/google/brotli.git /tmp/brotli && \ + git -C /tmp/brotli checkout 664952333f675eb189b9d8dfefb1d33538cc41f6 RUN cd /tmp/brotli && \ mkdir out && cd out && \ From 3dca079c5e57d1e030cb223e1586a727478c8e10 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 8 Mar 2026 11:15:53 +0000 Subject: [PATCH 4/4] fix: install CMake 3.31.0 in brotli-builder stage; verify SHA256 on both cmake downloads Co-authored-by: chipitsine <2217296+chipitsine@users.noreply.github.com> --- docker/golang/Dockerfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docker/golang/Dockerfile b/docker/golang/Dockerfile index b5821b4d8..9e864c9fd 100644 --- a/docker/golang/Dockerfile +++ b/docker/golang/Dockerfile @@ -4,9 +4,13 @@ ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ apt-get -y install \ - build-essential cmake git && \ + build-essential git wget && \ rm -rf /var/lib/apt/lists/* +RUN wget https://github.com/Kitware/CMake/releases/download/v3.31.0/cmake-3.31.0-linux-x86_64.tar.gz && \ + echo "0fcb338b4515044f9ac77543550ac92c314c58f6f95aafcac5cd36aa75db6924 cmake-3.31.0-linux-x86_64.tar.gz" | sha256sum -c && \ + tar xf cmake-3.31.0-linux-x86_64.tar.gz -C /usr --strip-components=1 && rm cmake-3.31.0-linux-x86_64.tar.gz + RUN git clone https://github.com/google/brotli.git /tmp/brotli && \ git -C /tmp/brotli checkout 664952333f675eb189b9d8dfefb1d33538cc41f6 @@ -39,6 +43,7 @@ ENV PATH=$GOPATH/bin:/usr/local/go/bin:$PATH RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" RUN wget https://github.com/Kitware/CMake/releases/download/v3.31.0/cmake-3.31.0-linux-x86_64.tar.gz && \ + echo "0fcb338b4515044f9ac77543550ac92c314c58f6f95aafcac5cd36aa75db6924 cmake-3.31.0-linux-x86_64.tar.gz" | sha256sum -c && \ tar xf cmake-3.31.0-linux-x86_64.tar.gz -C /usr --strip-components=1 && rm cmake-3.31.0-linux-x86_64.tar.gz COPY --from=brotli-builder /brotli-install/ /usr/local/