Add registry layer cache and fix Dockerfile cache order
Some checks failed
Build ROCm Image / build (push) Failing after 19m47s

- CI: cache-from/cache-to with mode=max stores all intermediate layers
  in the registry so subsequent builds skip unchanged layers (especially
  the slow ROCm PyTorch download)
- Dockerfile: move COPY perth_stub.py below pip install layers so a
  stub change doesn't bust the cache for everything above it

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-05 11:53:32 -04:00
parent 4b21d6c252
commit d9a540f8e8
2 changed files with 4 additions and 3 deletions

View File

@@ -31,3 +31,5 @@ jobs:
tags: |
git.sdgarren.com/scott/rocm-chatterbox-whisper:latest
git.sdgarren.com/scott/rocm-chatterbox-whisper:${{ gitea.sha }}
cache-from: type=registry,ref=git.sdgarren.com/scott/rocm-chatterbox-whisper:buildcache
cache-to: type=registry,ref=git.sdgarren.com/scott/rocm-chatterbox-whisper:buildcache,mode=max

View File

@@ -17,8 +17,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
WORKDIR /app
COPY perth_stub.py .
# Step 1: Install ROCm-compatible PyTorch stack first.
# This must happen before anything else to prevent pip from pulling CPU wheels.
COPY requirements-rocm-init.txt .
@@ -32,7 +30,8 @@ RUN pip3 install -r requirements-rocm.txt
RUN pip3 install --no-deps chatterbox-tts
# Stub out resemble-perth (audio watermarking, unnecessary for self-hosted use).
# Install as 'perth' module to satisfy chatterbox's import.
# Placed after pip layers so changes to the stub don't bust the cache above.
COPY perth_stub.py .
RUN python3 -c "import site; print(site.getsitepackages()[0])" | \
xargs -I{} cp /app/perth_stub.py {}/perth.py