From 42c8d9497714976c30e779219c238a70b14f75e1 Mon Sep 17 00:00:00 2001 From: oxpoe Date: Tue, 13 Oct 2026 06:33:29 +0700 Subject: [PATCH] =?UTF-8?q?ci:=20workflow=20release=20=E2=80=94=20bangun?= =?UTF-8?q?=20AppImage=20dari=20sumber=20saat=20tag=20v*=20dipush,=20uji?= =?UTF-8?q?=20jalan=20tanpa=20tampilan,=20lalu=20lampirkan=20ke=20Release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit docs: badge rilis + panduan unduh AppImage di README --- .github/workflows/release.yml | 62 +++++++++++++++++++++++++++++++++++ README.md | 12 +++++++ 2 files changed, 74 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..b3a77d5 --- /dev/null +++ b/.github/workflows/release.yml @@ -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 diff --git a/README.md b/README.md index 65914ba..9590db9 100644 --- a/README.md +++ b/README.md @@ -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