From 87720e6db4dc3abb7e6895dfd910c3987ebb70db Mon Sep 17 00:00:00 2001 From: Stefan Koelle Date: Mon, 10 Aug 2026 21:31:39 +0200 Subject: [PATCH] fix release pipeline --- .github/workflows/release.yml | 2 +- README.md | 17 ++++++++--------- build.sh | 10 +++++----- start.sh | 13 +++++++++++++ 4 files changed, 27 insertions(+), 15 deletions(-) create mode 100755 start.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0cc1bd6..002602c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -53,7 +53,7 @@ jobs: if: matrix.os != 'windows-latest' run: | cd MarcerGameDvdLauncher/bin/Release/net10.0/${{ matrix.rid }}/publish - zip -r $GITHUB_WORKSPACE/MarcerGameDvdLauncher-v${{ steps.version.outputs.version }}-${{ matrix.artifact_name }}$ + zip -r $GITHUB_WORKSPACE/MarcerGameDvdLauncher-v${{ steps.version.outputs.version }}-${{ matrix.artifact_name }}.zip . - name: Upload artifact uses: actions/upload-artifact@v4 diff --git a/README.md b/README.md index 9743d9c..c29d2fa 100644 --- a/README.md +++ b/README.md @@ -75,16 +75,15 @@ A performant, consistent console launcher for the Hatari emulator on Windows. Co ## Usage 1. Edit `launcher.config.example.json` to set your `RootDirectory`, optional `PatchDirectory` and the `Hatari` settings, then copy it to `launcher.config.json` for local use. Relative paths are resolved against the EXE folder (build output). -2. **Windows:** Build via `build.cmd`. -3. **Linux:** Build via `build.sh` (run `chmod +x build.sh` first to make it executable). -4. **Always start using `start.cmd`.** -5. In the console, all subfolders and ZIPs in root (and recursively below) will be shown; other file types/hidden files are always ignored. -6. Complete navigation/control with arrow keys, Enter, Backspace, ESC, PgUp/PgDn, as described above. -7. **IMPORTANT:** Navigation/scroll/backspace: +2. **Windows:** Build via `build.cmd`, start via `start.cmd`. +3. **Linux/macOS:** Build via `build.sh` (run `chmod +x build.sh` first to make it executable), start via `start.sh`. +4. In the console, all subfolders and ZIPs in root (and recursively below) will be shown; other file types/hidden files are always ignored. +5. Complete navigation/control with arrow keys, Enter, Backspace, ESC, PgUp/PgDn, as described above. +6. **IMPORTANT:** Navigation/scroll/backspace: - Backspace never escapes the root - In root, Backspace has no effect - Empty directories are reported (display stays stable) -8. **Overlay/patch logic:** +7. **Overlay/patch logic:** - If a ZIP/folder exists in both patch and main, always the patch version opens/launches - All navigation is relative to root path—for consistent experience @@ -139,8 +138,8 @@ Releases are automated via GitHub Actions. When a tag matching `v*` is pushed, t 4. The GitHub Action handles the rest. **Local builds** (for development/testing): -- **Windows:** `build.cmd` -- **Linux/macOS:** `build.sh` (run `chmod +x build.sh` first) +- **Windows:** `build.cmd` to build, `start.cmd` to run +- **Linux/macOS:** `build.sh` to build, `start.sh` to run (run `chmod +x *.sh` first) ## Community diff --git a/build.sh b/build.sh index 130b12b..d2d98e7 100755 --- a/build.sh +++ b/build.sh @@ -20,10 +20,10 @@ if [ $? -ne 0 ]; then exit 2 fi -# Check for the built .exe file -EXEPATH=$(find "bin/Release" -name "MarcerGameDvdLauncher*.exe" -print -quit 2>/dev/null) -if [ -n "$EXEPATH" ] && [ -f "$EXEPATH" ]; then - echo "[OK] Build complete. EXE: \"$EXEPATH\"" +# Check for the built binary +BINPATH=$(find "bin/Release" \( -name "MarcerGameDvdLauncher" -o -name "MarcerGameDvdLauncher.exe" \) -print -quit 2>/dev/null) +if [ -n "$BINPATH" ] && [ -f "$BINPATH" ]; then + echo "[OK] Build complete. Binary: \"$BINPATH\"" else - echo "[WARNING] Build appears successful but .exe not found!" + echo "[WARNING] Build appears successful but binary not found!" fi diff --git a/start.sh b/start.sh new file mode 100755 index 0000000..893e174 --- /dev/null +++ b/start.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Starts MarcerGameDvdLauncher from the correct folder +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +EXE_PATH="$SCRIPT_DIR/MarcerGameDvdLauncher/bin/Release/net10.0/MarcerGameDvdLauncher" + +if [ ! -f "$EXE_PATH" ]; then + echo "[ERROR] Application not built. Please run build.sh first." + exit 1 +fi + +cd "$SCRIPT_DIR/MarcerGameDvdLauncher/bin/Release/net10.0" +./MarcerGameDvdLauncher