Add Windows installer (NSIS) and Linux AppImage packaging; embed PCK in all exports
- export_presets: embed_pck=true for Linux/Windows/macOS -> single self-contained binaries (all game data in one file); build_releases.sh cleans stale .pck - App icon: assets/textures/icon.png (1024) + multi-size icon.ico generated by tools/generate_textures.py; copied into packaging/windows and packaging/linux - packaging/windows/step-line.nsi: NSIS installer (shortcuts, uninstaller, registry Add/Remove Programs) output step-line-setup-<ver>.exe - packaging/linux: step-line.desktop, AppRun, step-line.appdata.xml, build_appimage.sh (appimagetool, APPIMAGE_EXTRACT_AND_RUN) -> step-line-<ver>-x86_64.AppImage - CI build job now packages NSIS installer + AppImage alongside binaries; publish glob already uploads them - Local end-to-end verification: embedded exports rebuilt, AppImage built and run headless (0 script errors); suite 57/57 - README Downloads table lists installer/AppImage/portable rows; RELEASING documents packaging; TODO/DONE synced
This commit is contained in:
1 parent
07d79ac115
commit
ba76c0febf
17 files changed
+261
-10
No files matched your search
@@ -1,5 +1,38 @@
|
||||
# TODO
|
||||
|
||||
## 🪟 Windows installer (self-contained, all game data)
|
||||
|
||||
Goal: a real Windows installer that includes the entire game (executable + data),
|
||||
Start-Menu/desktop shortcuts, and an uninstaller — instead of a bare .exe + .pck.
|
||||
|
||||
- [x] Switch the Windows/Linux/macOS export presets to `binary_format/embed_pck=true` so a
|
||||
single self-contained binary replaces the exe+pck pair (all game data in one file).
|
||||
- [x] Add a game icon: `assets/icon.png` (AppImage/desktop) + `assets/icon.ico` and
|
||||
`packaging/windows/step-line.ico` generated by `tools/generate_textures.py`.
|
||||
- [x] Author `packaging/windows/step-line.nsi` (NSIS): installer that installs the exe, writes
|
||||
the uninstaller, shortcuts, and registry uninstall entry.
|
||||
- [x] Add CI packaging steps to `.gitea/workflows/build.yml` (NSIS via apt; AppImage via
|
||||
appimagetool) so tags/dispatch produce `step-line-setup-<ver>.exe` and
|
||||
`step-line-<ver>-x86_64.AppImage` next to the portable binaries.
|
||||
- [x] Extend `tools/publish_release.sh` artifact glob to upload the installer/AppImage too.
|
||||
- [ ] Verify on CI: NSIS installer builds (cannot be run locally — no `makensis` on this box).
|
||||
- [ ] Verify the Windows installer contents in CI (e.g. `7z l` shows the embedded data file).
|
||||
|
||||
## 🐧 Linux AppImage (self-contained, all game data)
|
||||
|
||||
Goal: a single executable `.AppImage` that runs the full game on any recent distro.
|
||||
|
||||
- [x] Author AppDir files: `packaging/linux/step-line.desktop`, `packaging/linux/AppRun`,
|
||||
icon wiring.
|
||||
- [x] Add `packaging/linux/build_appimage.sh` (appimagetool; `APPIMAGE_EXTRACT_AND_RUN=1` to
|
||||
avoid FUSE dependency) producing `step-line-<ver>-x86_64.AppImage`.
|
||||
- [x] Local verification: built the AppImage on this machine and ran it headless
|
||||
(`--appimage-extract-and-run --headless --quit-after 90` → 0 script errors,
|
||||
`[Step Line] game started`).
|
||||
- [x] AppStream metainfo added (`packaging/linux/step-line.appdata.xml`); tool validates clean.
|
||||
- [ ] CI verification: AppImage step runs on tags/dispatch and the artifact uploads.
|
||||
- [x] README Downloads table documents installer + AppImage rows and naming.
|
||||
|
||||
## Distribution follow-up (host config, no code work)
|
||||
|
||||
- [ ] Asset downloads currently require sign-in on the host (`/releases/download/…` redirects to
|
||||
|
||||
Reference in new issue
Block a user