build(worker): lokale MakeMKV-Tarballs (vendor/) schlagen den Download
Ampel / ampel (push) Successful in 34s
Ampel / ampel (push) Successful in 34s
Cloudflare drosselt BuildKit-Downloads von makemkv.com hartnaeckig (24.07. viermal, auch MIT --retry-all-errors, waehrend dieselben URLs ausserhalb des Builds laden). Dauerhafter Ausweg statt Mirror-Hack: Tarballs einmal nach docker/worker/vendor/ legen (untracked, .gitignore) — der Build nutzt sie dann direkt und faellt sonst auf curl+Retry zurueck. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -42,13 +42,23 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
|
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
|
|
||||||
# --retry-all-errors: makemkv.com drosselt hinter Cloudflare zeitweise auch
|
# Download mit doppeltem Netz (Cloudflare drosselt BuildKit-Downloads
|
||||||
# einzelne GETs (24.07. zweimal mitten am Tag, HEAD ging, GET nicht) — fünf
|
# hartnäckig — 24.07. viermal, auch MIT --retry-all-errors):
|
||||||
# Versuche mit Backoff überstehen das, statt den ganzen Build zu killen.
|
# 1. Liegen die Tarballs lokal in docker/worker/vendor/ (untracked), werden
|
||||||
RUN curl -fsSL --retry 5 --retry-delay 15 --retry-all-errors \
|
# SIE genutzt — einmal von Hand hinlegen, nie wieder Download-Roulette.
|
||||||
-o oss.tar.gz "${MAKEMKV_URL_BASE}/makemkv-oss-${MAKEMKV_VERSION}.tar.gz" \
|
# 2. Sonst curl mit Retries gegen MAKEMKV_URL_BASE.
|
||||||
&& curl -fsSL --retry 5 --retry-delay 15 --retry-all-errors \
|
COPY docker/worker/vendor/ ./vendor/
|
||||||
-o bin.tar.gz "${MAKEMKV_URL_BASE}/makemkv-bin-${MAKEMKV_VERSION}.tar.gz" \
|
RUN if [ -s "vendor/makemkv-oss-${MAKEMKV_VERSION}.tar.gz" ] \
|
||||||
|
&& [ -s "vendor/makemkv-bin-${MAKEMKV_VERSION}.tar.gz" ]; then \
|
||||||
|
echo "Nutze lokale Tarballs aus vendor/"; \
|
||||||
|
cp "vendor/makemkv-oss-${MAKEMKV_VERSION}.tar.gz" oss.tar.gz; \
|
||||||
|
cp "vendor/makemkv-bin-${MAKEMKV_VERSION}.tar.gz" bin.tar.gz; \
|
||||||
|
else \
|
||||||
|
curl -fsSL --retry 5 --retry-delay 15 --retry-all-errors \
|
||||||
|
-o oss.tar.gz "${MAKEMKV_URL_BASE}/makemkv-oss-${MAKEMKV_VERSION}.tar.gz" \
|
||||||
|
&& curl -fsSL --retry 5 --retry-delay 15 --retry-all-errors \
|
||||||
|
-o bin.tar.gz "${MAKEMKV_URL_BASE}/makemkv-bin-${MAKEMKV_VERSION}.tar.gz"; \
|
||||||
|
fi \
|
||||||
&& sha256sum oss.tar.gz bin.tar.gz \
|
&& sha256sum oss.tar.gz bin.tar.gz \
|
||||||
&& tar xzf oss.tar.gz \
|
&& tar xzf oss.tar.gz \
|
||||||
&& tar xzf bin.tar.gz
|
&& tar xzf bin.tar.gz
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
*.tar.gz
|
||||||
Vendored
+3
@@ -0,0 +1,3 @@
|
|||||||
|
# MakeMKV-Tarballs hier ablegen (makemkv-oss-X.tar.gz + makemkv-bin-X.tar.gz),
|
||||||
|
# wenn Cloudflare die Build-Downloads drosselt — der Build nutzt sie dann
|
||||||
|
# statt des Downloads. Bleiben untracked (siehe .gitignore).
|
||||||
Reference in New Issue
Block a user