diff --git a/dockerfiles/build_manylinux_x86_64.Dockerfile b/dockerfiles/build_manylinux_x86_64.Dockerfile index 17cf218d9a2..92878f888e8 100644 --- a/dockerfiles/build_manylinux_x86_64.Dockerfile +++ b/dockerfiles/build_manylinux_x86_64.Dockerfile @@ -29,6 +29,11 @@ WORKDIR /install-ccache COPY install_ccache.sh ./ RUN ./install_ccache.sh "4.11.2" && rm -rf /install-ccache +######## SCCache ######## +WORKDIR /install-sccache +COPY install_sccache.sh ./ +RUN ./install_sccache.sh "0.14.0" && rm -rf /install-sccache + ######## CMake ######## WORKDIR /install-cmake ENV CMAKE_VERSION="3.27.9" diff --git a/dockerfiles/install_sccache.sh b/dockerfiles/install_sccache.sh new file mode 100755 index 00000000000..44babedafe7 --- /dev/null +++ b/dockerfiles/install_sccache.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# Install sccache from official GitHub releases. +# +# Usage: ./install_sccache.sh +# Example: ./install_sccache.sh "0.13.0" + +set -euo pipefail + +SCCACHE_VERSION="$1" + +ARCH="$(uname -m)" +if [ "${ARCH}" != "x86_64" ]; then + echo "Unsupported architecture: ${ARCH}. Only x86_64 is supported." + exit 1 +fi +SCCACHE_ARCH="x86_64-unknown-linux-musl" + +SCCACHE_TARBALL="sccache-v${SCCACHE_VERSION}-${SCCACHE_ARCH}.tar.gz" +SCCACHE_URL="https://github.com/mozilla/sccache/releases/download/v${SCCACHE_VERSION}/${SCCACHE_TARBALL}" + +echo "Downloading sccache ${SCCACHE_VERSION} for ${ARCH}..." +curl --silent --fail --show-error --location \ + "${SCCACHE_URL}" \ + --output sccache.tar.gz + +tar xf sccache.tar.gz +cp "sccache-v${SCCACHE_VERSION}-${SCCACHE_ARCH}/sccache" /usr/local/bin/ +chmod +x /usr/local/bin/sccache + +echo "sccache installed successfully:" +sccache --version