diff --git a/Dockerfile.windows b/Dockerfile.windows index bfdf7ee..e573d5d 100644 --- a/Dockerfile.windows +++ b/Dockerfile.windows @@ -2,12 +2,17 @@ ARG img_version FROM godot-fedora:${img_version} RUN dnf -y install --setopt=install_weak_deps=False \ - mingw32-gcc mingw32-gcc-c++ mingw32-winpthreads-static mingw64-gcc mingw64-gcc-c++ mingw64-winpthreads-static && \ - export LLVM_MINGW_VERSION=20250528 && \ - export LLVM_MINGW_NAME=llvm-mingw-${LLVM_MINGW_VERSION}-ucrt-ubuntu-22.04-x86_64 && \ - curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/${LLVM_MINGW_VERSION}/${LLVM_MINGW_NAME}.tar.xz && \ - tar xf ${LLVM_MINGW_NAME}.tar.xz && \ + mingw32-gcc mingw32-gcc-c++ mingw32-winpthreads-static mingw64-gcc mingw64-gcc-c++ mingw64-winpthreads-static + +ENV LLVM_MINGW_VERSION=20250528 +ENV LLVM_MINGW_NAME=llvm-mingw-${LLVM_MINGW_VERSION}-ucrt-ubuntu-22.04-x86_64 + +# We copy the pre-downloaded file from the runner context into the image +COPY ${LLVM_MINGW_NAME}.tar.xz . + + +RUN tar xf ${LLVM_MINGW_NAME}.tar.xz && \ rm -f ${LLVM_MINGW_NAME}.tar.xz && \ - mv -f ${LLVM_MINGW_NAME} /root/llvm-mingw + mv ${LLVM_MINGW_NAME} /root/llvm-mingw CMD /bin/bash \ No newline at end of file diff --git a/build-windows.sh b/build-windows.sh index 095b6be..dcd29e9 100644 --- a/build-windows.sh +++ b/build-windows.sh @@ -26,6 +26,26 @@ buildah pull --tls-verify=false --storage-driver=vfs "$BASE_TAG" # This satisfies: FROM godot-fedora:custom buildah tag --storage-driver=vfs "$BASE_TAG" "godot-fedora:custom" +# --- Configuration --- +# Match these exactly to what is in your Dockerfile +LLVM_VER="20250528" +LLVM_NAME="llvm-mingw-${LLVM_VER}-ucrt-ubuntu-22.04-x86_64" +TARBALL="${LLVM_NAME}.tar.xz" +DOWNLOAD_URL="https://github.com/mstorsjo/llvm-mingw/releases/download/${LLVM_VER}/${TARBALL}" + +# ... (Login steps remain the same) ... + +echo "---------------------------------------" +echo "Pre-downloading LLVM Toolchain..." +echo "---------------------------------------" +# We check if it exists so we don't re-download if the runner cached it +if [ ! -f "$TARBALL" ]; then + echo "Downloading $TARBALL..." + wget "$DOWNLOAD_URL" +else + echo "File already exists. Using cached version." +fi + echo "---------------------------------------" echo "Building Windows Image..." echo "---------------------------------------"