ci: workflow release — bangun AppImage dari sumber saat tag v* dipush, uji jalan tanpa tampilan, lalu lampirkan ke Release

docs: badge rilis + panduan unduh AppImage di README
This commit is contained in:
oxpoe committed 2026-10-13 06:33:29 +07:00
1 parent 00abb6b661
commit 42c8d94977
2 files changed
+74

No files matched your search

+62
View File
@@ -0,0 +1,62 @@
name: release
# Build the GAMEMAX LCD AppImage from source and attach it to a GitHub release.
# Trigger: push a tag like v1.0.0 (or run manually from the Actions tab).
on:
push:
tags: ["v*"]
workflow_dispatch:
permissions:
contents: write
jobs:
appimage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
libgl1 libegl1 libxkbcommon0 libdbus-1-3 libfuse2 fuse
- name: Set up uv
uses: astral-sh/setup-uv@v5
- name: Build AppImage
env:
APPIMAGE_EXTRACT_AND_RUN: "1"
run: bash packaging/build_appimage.sh
- name: Smoke test the bundle (no display)
env:
APPIMAGE_EXTRACT_AND_RUN: "1"
QT_QPA_PLATFORM: offscreen
run: |
./dist/GAMEMAX-LCD-x86_64.AppImage --selftest
- name: Publish release
uses: softprops/action-gh-release@v2
with:
name: GAMEMAX LCD ${{ github.ref_name }}
generate_release_notes: true
body: |
Linux bridge + tray app for the LCD panel of GAMEMAX IceBurg Digital AIO
coolers. Built automatically from `${{ github.sha }}`.
**Download** `GAMEMAX-LCD-x86_64.AppImage`, then:
```bash
chmod +x GAMEMAX-LCD-x86_64.AppImage
./GAMEMAX-LCD-x86_64.AppImage # tray + window
./GAMEMAX-LCD-x86_64.AppImage --selftest # verify the bundle starts
```
Device access still needs the udev rule once:
`sudo cp packaging/70-gamemax.rules /etc/udev/rules.d/ && sudo udevadm control --reload`
Independent project, not affiliated with the vendor — see DISCLAIMER.md.
files: dist/GAMEMAX-LCD-x86_64.AppImage
+12
View File
@@ -7,6 +7,9 @@ Reverse engineered independently from the Windows vendor software
(`PcInfoMonitorPro.exe` / "IceBurg Digital Software"); the protocol notes are in
[`docs/reverse-engineering.md`](docs/reverse-engineering.md) (Indonesian).
[![Release](https://img.shields.io/github/v/release/oxpoe/Gamemax-linux-apps?color=def750&label=release)](https://github.com/oxpoe/Gamemax-linux-apps/releases)
[![License: MIT](https://img.shields.io/badge/license-MIT-def750)](LICENSE)
Author: **oxpoe** · License: **MIT** · Independent project, **not affiliated with the
vendor** — please read [DISCLAIMER.md](DISCLAIMER.md) before using it.
@@ -134,7 +137,16 @@ The tray app can do all of this for you (buttons *Pasang / perbarui layanan*,
## Tray app / AppImage
**Download (recommended):** grab `GAMEMAX-LCD-x86_64.AppImage` from
[Releases](../../releases) — it bundles PySide6, the sender script and the icon, and is
built automatically from source by `.github/workflows/release.yml`.
```bash
chmod +x GAMEMAX-LCD-x86_64.AppImage
./GAMEMAX-LCD-x86_64.AppImage --selftest # verify it starts (no display needed)
./GAMEMAX-LCD-x86_64.AppImage # window + tray
# or run from source
uv run --with pyside6 python src/gamemax_gui.py # window + tray
uv run --with pyside6 python src/gamemax_gui.py --tray-only