CI / ${{ matrix.name }} (false, -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0.26100.0, false, false, Visual Studio 18 2026, true, Xbox One, windows-latest, amd64, false, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/3DS.cmake, false, devkitpro/devkitarm:latest, false, Ninja, true, Nintendo 3DS, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake, false, devkitpro/devkita64:latest, false, Ninja, Nintendo Switch, true, ubuntu-latest, true) (push) Has been cancelled
* 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
* ci: drop Debug matrix entries and replace ISLE_DEBUG with ISLE_CITRO3D_DEBUG
The Linux (Debug) and MSVC (x64 Debug) jobs only differed from their
Release counterparts in -DISLE_DEBUG=ON. ISLE_DEBUG was only consulted
in one place: miniwin/CMakeLists.txt for the Nintendo 3DS citro3d
library selection (citro3dd vs citro3d) — which the Nintendo 3DS matrix
row never enabled. So Linux (Debug)/MSVC (x64 Debug) produced binaries
identical to their Release builds and collided with them in the release
artifact merge, which is what corrupted #646.
Drop the two duplicate matrix entries and the now-unused ISLE_DEBUG
plumbing, and reintroduce the 3DS knob as ISLE_CITRO3D_DEBUG scoped to
its actual use site.
Reverts the -debug filename suffix added in the previous commit; with
the duplicates gone there is nothing left to disambiguate.
Fixes#646
* Remove leftover ISLE_DEBUG=OFF from emscripten Dockerfile and flatpak manifest
These passed -DISLE_DEBUG=OFF, which is now an unknown CMake variable.
CI / ${{ matrix.name }} (false, -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0.26100.0, false, false, Visual Studio 17 2022, true, Xbox One, windows-latest, amd64, false, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/3DS.cmake, false, devkitpro/devkitarm:latest, false, Ninja, true, Nintendo 3DS, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake, false, devkitpro/devkita64:latest, false, Ninja, Nintendo Switch, true, ubuntu-latest, true) (push) Has been cancelled
Right now when path to AppImage has spaces in it (for example if it gets installed in ~/Applications by a manager I'll be named "Isle Portable") I'll fail to execute with an error:
```
/tmp/.mount_Isle PCAHbep/AppRun: line 16: [: /home/damglador/Applications/Isle: binary operator expected
/tmp/.mount_Isle PCAHbep/AppRun: line 24: /tmp/.mount_Isle PCAHbep/usr/bin/isle-config: Input/output error
```
This patch should fix it.
* AppImage packaging
* Add flags to specify location of required local files
`--build=path` specifies where on the system is the directory with pre-build game binaries (must have binaries `isle` and `isle-config` in `path/bin` and game-specific libraries in `path/lib`)
`--apprun=path` specifies where the apprun is
`--desktop-file=path` same for the desktop file
* Move to packaging/linux
* Move building to appimage/build and ignore it in git
* Use local icon. Option to specify location for it
* Cleaning
* Attempt at Github automation
* Update CMakeLists.txt
* Fix build
* I guess it doesn't need quotes
* Update CMakeLists.txt
* Update release.yml
* Work around for liblego1.so loading, fix arguments
* Create testing.yml
* Update testing.yml
* I should pay more attention to what docs say
* Fix copy-pasting mistake
* Add AppImage packaging to the Release workflow
* Try fixing filepicker
* Delete testing.yml
* Fix releases
Can't specify where linuxdeploy leaves the file without specifying the name of the file, which I don't want to do, so just move the file in `dist` after packaging.
* Remove unnecessary changes
* Add qt6-xdgdesktopportal-platformtheme as deps
Needed to call the xdg filepicker, basically desktop-specific filepicker. Hopefully this will allow to use it in AppImage
* Get back flatpak in release
* Update release.yml
* Remove libglew-dev from apt install
* Fix duplicate upload artifact
* Update release.yml
Co-authored-by: Christian Semmler <mail@csemmler.com>
* Remove *.AppImage pattern in Download All Artifacts
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>