From bcbf41a1f19126f842de903fffefc60eb9fdc33a Mon Sep 17 00:00:00 2001 From: Subodh Dubey Date: Wed, 11 Feb 2026 13:46:05 +0000 Subject: [PATCH 1/4] Add sccache to manylinux PyTorch build image --- dockerfiles/build_manylinux_x86_64.Dockerfile | 5 +++ dockerfiles/install_sccache.sh | 40 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 dockerfiles/install_sccache.sh diff --git a/dockerfiles/build_manylinux_x86_64.Dockerfile b/dockerfiles/build_manylinux_x86_64.Dockerfile index 17cf218d9a2..22d0ae40ee3 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.13.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 100644 index 00000000000..99d910ad216 --- /dev/null +++ b/dockerfiles/install_sccache.sh @@ -0,0 +1,40 @@ +#!/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)" + +# Map architecture to sccache release naming convention +case "${ARCH}" in + x86_64) + SCCACHE_ARCH="x86_64-unknown-linux-musl" + ;; + aarch64) + SCCACHE_ARCH="aarch64-unknown-linux-musl" + ;; + *) + echo "Unsupported architecture: ${ARCH}" + exit 1 + ;; +esac + +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 From bc809c7fe50e3a218ef93342572a3b1cb10aad95 Mon Sep 17 00:00:00 2001 From: Subodh Dubey Date: Wed, 11 Feb 2026 13:49:41 +0000 Subject: [PATCH 2/4] Update sccache version in manylinux Dockerfile to 0.14.0 --- dockerfiles/build_manylinux_x86_64.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/build_manylinux_x86_64.Dockerfile b/dockerfiles/build_manylinux_x86_64.Dockerfile index 22d0ae40ee3..92878f888e8 100644 --- a/dockerfiles/build_manylinux_x86_64.Dockerfile +++ b/dockerfiles/build_manylinux_x86_64.Dockerfile @@ -32,7 +32,7 @@ RUN ./install_ccache.sh "4.11.2" && rm -rf /install-ccache ######## SCCache ######## WORKDIR /install-sccache COPY install_sccache.sh ./ -RUN ./install_sccache.sh "0.13.0" && rm -rf /install-sccache +RUN ./install_sccache.sh "0.14.0" && rm -rf /install-sccache ######## CMake ######## WORKDIR /install-cmake From 7260ca3f28438a0fff058c0d0c5df19fdcb22cb8 Mon Sep 17 00:00:00 2001 From: Subodh Dubey Date: Wed, 11 Feb 2026 14:05:40 +0000 Subject: [PATCH 3/4] Make install_sccache.sh executable like other install scripts --- dockerfiles/install_sccache.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 dockerfiles/install_sccache.sh diff --git a/dockerfiles/install_sccache.sh b/dockerfiles/install_sccache.sh old mode 100644 new mode 100755 From 083d7951e381036f1d845ba261a372eb56cfd10e Mon Sep 17 00:00:00 2001 From: Subodh Dubey Date: Wed, 11 Feb 2026 16:57:13 +0000 Subject: [PATCH 4/4] Refactor install_sccache.sh to simplify architecture check --- dockerfiles/install_sccache.sh | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/dockerfiles/install_sccache.sh b/dockerfiles/install_sccache.sh index 99d910ad216..44babedafe7 100755 --- a/dockerfiles/install_sccache.sh +++ b/dockerfiles/install_sccache.sh @@ -9,20 +9,11 @@ set -euo pipefail SCCACHE_VERSION="$1" ARCH="$(uname -m)" - -# Map architecture to sccache release naming convention -case "${ARCH}" in - x86_64) - SCCACHE_ARCH="x86_64-unknown-linux-musl" - ;; - aarch64) - SCCACHE_ARCH="aarch64-unknown-linux-musl" - ;; - *) - echo "Unsupported architecture: ${ARCH}" - exit 1 - ;; -esac +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}"