mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-06-12 20:58:04 +00:00
Some checks failed
CI / clang-format (push) Has been cancelled
CI / ${{ matrix.name }} (false, --toolchain $GITHUB_WORKSPACE/CMake/i586-pc-msdosdjgpp.cmake, false, true, false, Ninja, DOS, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, --toolchain /usr/local/vitasdk/share/vita.toolchain.cmake, false, false, Ninja, Vita, ubuntu-latest, true, true) (push) Has been cancelled
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 / ${{ matrix.name }} (false, emcmake, false, false, true, Ninja, Emscripten, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, false, false, Ninja, true, MSVC (arm64), windows-latest, amd64_arm64, false) (push) Has been cancelled
CI / ${{ matrix.name }} (false, false, true, Ninja, true, MSVC (x86), windows-latest, amd64_x86, false) (push) Has been cancelled
CI / ${{ matrix.name }} (false, true, false, Ninja, true, MSVC (x64), windows-latest, amd64, false) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, -DCMAKE_SYSTEM_NAME=iOS, false, false, Xcode, true, iOS, macos-15, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, false, false, Ninja, Android, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, true, false, Ninja, macOS, macos-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, true, false, Ninja, true, mingw-w64-x86_64, mingw64, msys2 mingw64, windows-latest, msys2 {0}, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, true, true, false, Ninja, true, Linux, ubuntu-latest, true) (push) Has been cancelled
CI / FreeBSD (push) Has been cancelled
CI / Flatpak (${{ matrix.arch }}) (aarch64, ubuntu-22.04-arm) (push) Has been cancelled
CI / Flatpak (${{ matrix.arch }}) (x86_64, ubuntu-latest) (push) Has been cancelled
CI / C++ (push) Has been cancelled
Docker / Publish web port (push) Has been cancelled
CI / Release (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.
55 lines
1.6 KiB
Docker
55 lines
1.6 KiB
Docker
FROM emscripten/emsdk:4.0.10 AS builder
|
|
|
|
ARG CMAKE_VERSION=3.29.3
|
|
|
|
WORKDIR /src
|
|
|
|
USER root
|
|
|
|
RUN apt-get update && apt-get install -y git wget && rm -rf /var/lib/apt/lists/*
|
|
RUN wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.sh -O /tmp/cmake.sh && \
|
|
chmod +x /tmp/cmake.sh && \
|
|
/tmp/cmake.sh --skip-license --prefix=/usr/local && \
|
|
rm /tmp/cmake.sh
|
|
|
|
RUN chown -R emscripten:emscripten /src
|
|
|
|
USER emscripten
|
|
|
|
COPY ISLE/emscripten/emscripten.patch /tmp/
|
|
RUN cd /emsdk/upstream/emscripten && \
|
|
git apply --check /tmp/emscripten.patch && \
|
|
git apply /tmp/emscripten.patch
|
|
|
|
COPY --chown=emscripten:emscripten 3rdparty/ ./3rdparty/
|
|
COPY --chown=emscripten:emscripten LEGO1/ ./LEGO1/
|
|
COPY --chown=emscripten:emscripten ISLE/ ./ISLE/
|
|
COPY --chown=emscripten:emscripten miniwin/ ./miniwin/
|
|
COPY --chown=emscripten:emscripten util/ ./util/
|
|
COPY --chown=emscripten:emscripten CMake/ ./CMake/
|
|
COPY --chown=emscripten:emscripten packaging/ ./packaging/
|
|
COPY --chown=emscripten:emscripten extensions/ ./extensions/
|
|
COPY --chown=emscripten:emscripten CMakeLists.txt .
|
|
|
|
RUN emcmake cmake -S . -B build -DISLE_BUILD_CONFIG=OFF -DCMAKE_BUILD_TYPE=Release && \
|
|
emmake cmake --build build -j 32
|
|
|
|
RUN echo "Fetching isle.pizza frontend..."; \
|
|
git clone --depth 1 https://github.com/isledecomp/isle.pizza /tmp/isle.pizza;
|
|
|
|
FROM node:22-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /tmp/isle.pizza ./
|
|
COPY --from=builder /src/build/isle.js /src/build/isle.wasm ./
|
|
|
|
RUN npm ci
|
|
|
|
COPY docker/emscripten/entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
EXPOSE 6931
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|