From 0a590b3c51bd824c9f982b02f0ebb04f12994a08 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Sun, 17 May 2026 13:49:06 -0700 Subject: [PATCH] ci: suffix debug-build artifacts to avoid release filename collision `actions/download-artifact@v8` with `merge-multiple: true` extracts every artifact into the same Release/ directory in parallel. Release and Debug builds of the same platform produced identical CPack/AppImage filenames (isle-0.1-Windows-x64.zip, isle-0.1-Linux-x64.tar.gz, Isle_Portable-x86_64.AppImage), so the parallel writes raced on the same path and intermittently produced corrupt archives in the release. Append `-debug` to CPACK_PACKAGE_FILE_NAME when ISLE_DEBUG is set, and rename the AppImage in the same case, so each matrix entry contributes a unique filename to the release. Fixes #646 --- .github/workflows/ci.yml | 8 ++++++++ CMakeLists.txt | 3 +++ 2 files changed, 11 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3810204f..d9d3c760 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -243,6 +243,14 @@ jobs: --output appimage && \ mv *.AppImage dist/ + - name: Suffix debug AppImage + if: ${{ matrix.linux && matrix.debug }} + run: | + cd build/dist + for f in *.AppImage; do + mv "$f" "${f%.AppImage}-debug.AppImage" + done + - name: Package (3DS) if: ${{ matrix.n3ds }} run: | diff --git a/CMakeLists.txt b/CMakeLists.txt index e668f624..1dcb466f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1083,6 +1083,9 @@ add_subdirectory(packaging) set(CPACK_PACKAGE_DIRECTORY "dist") set(CPACK_PACKAGE_FILE_NAME "isle-${PROJECT_VERSION}-${ISLE_PACKAGE_NAME}") +if(ISLE_DEBUG) + string(APPEND CPACK_PACKAGE_FILE_NAME "-debug") +endif() if(NINTENDO_3DS) find_program(BANNERTOOL bannertool) find_program(MAKEROM makerom)