mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-13 17:55:48 +00:00
[rocm-libraries] ROCm/rocm-libraries#6972 (commit 8761b90)
[CK] Dockerfile: auto-discover latest TheRock nightly tarball (#6972) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Motivation Our docker containers with `--build-arg compiler_version=therock` should have the latest nightly build of TheRock in `/opt/rocm`. When I looked for `rocm_kpack` and other `kpack` artifacts, they were missing, and I realized we had pinned the version by date. Instead, we should look for the most recent linux-multiarch tarball. ## Summary - Auto-discover the latest TheRock nightly tarball at Docker build time instead of pinning a stale URL (previously hardcoded to a Feb 2026 nightly that predates kpack) - Logic is to `wget` the directory, and identify the latest tarball (alphabetically sorted by YYYYMMDD in filename). - Support manual override via `--build-arg TARBALL_URL=...` for pinning, and `--build-arg TARBALL_PATTERN=...` for selecting a specific arch variant - Fix sccache download URL: `/releases/latest/download/` was redirecting to v0.15.0 but the filename referenced v0.14.0, causing a 404 ## Test plan - [x] Verified tarball discovery logic resolves to `therock-dist-linux-multiarch-7.13.0a20260430.tar.gz` - [x] Built Docker image locally with `--build-arg compiler_version=therock` - [x] Confirmed sccache installs successfully with the fixed URL - [ ] Verify CI pipeline builds with the updated Dockerfile 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
committed by
assistant-librarian[bot]
parent
de0a61e5c2
commit
f3d8a1269a
30
Dockerfile
30
Dockerfile
@@ -3,7 +3,19 @@ FROM ubuntu:24.04
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
ARG ROCMVERSION=7.1.1
|
||||
ARG DEB_ROCM_REPO=http://repo.radeon.com/rocm/apt/.apt_$ROCMVERSION/
|
||||
ARG TARBALL_URL=https://rocm.nightlies.amd.com/tarball/therock-dist-linux-gfx90X-dcgpu-7.12.0a20260218.tar.gz
|
||||
|
||||
# TheRock nightly tarball configuration.
|
||||
# By default, discovers the latest tarball from the nightlies index.
|
||||
# Manual overrides:
|
||||
# Pin a specific tarball:
|
||||
# --build-arg TARBALL_URL=https://rocm.nightlies.amd.com/tarball-multi-arch/therock-dist-linux-multiarch-7.13.0a20260430.tar.gz
|
||||
# Change the arch variant (default: multiarch):
|
||||
# --build-arg TARBALL_PATTERN=therock-dist-linux-gfx90a
|
||||
# --build-arg TARBALL_PATTERN=therock-dist-linux-gfx94X-dcgpu
|
||||
ARG TARBALL_URL=""
|
||||
ARG TARBALL_BASE=https://rocm.nightlies.amd.com/tarball-multi-arch
|
||||
ARG TARBALL_PATTERN=therock-dist-linux-multiarch
|
||||
|
||||
ARG compiler_version=""
|
||||
ARG compiler_commit=""
|
||||
ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn
|
||||
@@ -18,10 +30,18 @@ RUN set -xe && \
|
||||
|
||||
RUN if [ "$compiler_version" = "therock" ]; then \
|
||||
rm -rf /opt/rocm && mkdir /opt/rocm && \
|
||||
echo "Downloading ROCm tarball from $TARBALL_URL..." && \
|
||||
if [ -n "$TARBALL_URL" ]; then \
|
||||
echo "Using provided TARBALL_URL: $TARBALL_URL" ; \
|
||||
else \
|
||||
echo "Discovering latest tarball from $TARBALL_BASE..." && \
|
||||
TARBALL_URL="${TARBALL_BASE}/$(curl -sL "${TARBALL_BASE}/" \
|
||||
| grep -oP '"name":\s*"\K'"${TARBALL_PATTERN}"'-[^"]+\.tar\.gz' \
|
||||
| sort -V | tail -1)" && \
|
||||
echo "Found: $TARBALL_URL" ; \
|
||||
fi && \
|
||||
wget -q -O /tmp/rocm.tar.gz "$TARBALL_URL" && \
|
||||
echo "Extracting tarball to /opt/rocm..." && \
|
||||
tar -xzf /tmp/rocm.tar.gz -C /opt/rocm --strip-components=1 ; \
|
||||
tar -xzf /tmp/rocm.tar.gz -C /opt/rocm --strip-components=1 && \
|
||||
rm /tmp/rocm.tar.gz ; \
|
||||
else echo "using the release compiler" && \
|
||||
wget https://repo.radeon.com/amdgpu-install/7.1.1/ubuntu/noble/amdgpu-install_7.1.1.70101-1_all.deb && \
|
||||
apt install ./amdgpu-install_7.1.1.70101-1_all.deb -y && \
|
||||
@@ -36,7 +56,7 @@ ENV SCCACHE_INSTALL_LOCATION=/usr/local/.cargo/bin
|
||||
ENV PATH=$PATH:${SCCACHE_INSTALL_LOCATION}
|
||||
RUN set -x && \
|
||||
mkdir -p ${SCCACHE_INSTALL_LOCATION} && \
|
||||
wget -qO sccache.tar.gz https://github.com/mozilla/sccache/releases/latest/download/sccache-v$SCCACHE_VERSION-x86_64-unknown-linux-musl.tar.gz && \
|
||||
wget -qO sccache.tar.gz https://github.com/mozilla/sccache/releases/download/v$SCCACHE_VERSION/sccache-v$SCCACHE_VERSION-x86_64-unknown-linux-musl.tar.gz && \
|
||||
tar -xzf sccache.tar.gz --strip-components=1 -C ${SCCACHE_INSTALL_LOCATION} && \
|
||||
chmod +x ${SCCACHE_INSTALL_LOCATION}/sccache
|
||||
|
||||
|
||||
Reference in New Issue
Block a user