From 624744da86b0353ed3f5fc0487c690dfcb3f8a38 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Tue, 24 Feb 2026 05:46:45 -0800 Subject: [PATCH] Fix Windows release packaging: replace rsync/7z with cp/zip MSYS2 doesn't have rsync or 7z by default. Use cp -r for assets and install zip package for archive creation. --- .github/workflows/release.yml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b59006ef..52579ddc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -249,7 +249,9 @@ jobs: - name: Install optional packages shell: msys2 {0} - run: pacman -S --noconfirm --needed ${{ matrix.prefix }}-stormlib || true + run: | + pacman -S --noconfirm --needed ${{ matrix.prefix }}-stormlib || true + pacman -S --noconfirm --needed zip - name: Configure shell: msys2 {0} @@ -292,8 +294,14 @@ jobs: cp tools/asset_pipeline_gui.py "${STAGING}/" # Assets (exclude proprietary music) - rsync -a --exclude='Original Music' build/bin/assets/ "${STAGING}/assets/" || \ - cp -r build/bin/assets "${STAGING}/assets" + mkdir -p "${STAGING}/assets" + for d in build/bin/assets/*/; do + dirname="$(basename "$d")" + [ "$dirname" = "Original Music" ] && continue + cp -r "$d" "${STAGING}/assets/" + done + # Copy top-level asset files + cp build/bin/assets/* "${STAGING}/assets/" 2>/dev/null || true # Data directory (git-tracked files only) git ls-files Data/ | while read -r f; do @@ -301,9 +309,8 @@ jobs: cp "$f" "${STAGING}/$f" done - # Create ZIP using 7z (available in MSYS2) - 7z a -tzip "${STAGING}.zip" "${STAGING}" || \ - (cd "${STAGING}" && zip -r "../${STAGING}.zip" .) + # Create ZIP + zip -r "${STAGING}.zip" "${STAGING}" - name: Upload artifact uses: actions/upload-artifact@v4