Files
Gamemax-linux-apps/.github/workflows/release.yml
T
oxpoe 7156458c6f feat(updater): verifikasi SHA-256 sebelum mengganti AppImage; CI menerbitkan .sha256 + .zsync
- do_update: unduh → verifikasi checksum rilis → baru ganti berkas (mismatch = dibatalkan)
- workflow: hasilkan GAMEMAX-LCD-x86_64.AppImage.sha256 dan .zsync (zsyncmake), lampirkan ketiganya
- README: bagian Updates menjelaskan checksum + zsync (delta update opsional)
- versi 1.2.3
2026-10-13 08:10:05 +07:00

79 lines
2.7 KiB
YAML

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 zsync
- 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: Checksum and zsync metadata
run: |
cd dist
sha256sum GAMEMAX-LCD-x86_64.AppImage > GAMEMAX-LCD-x86_64.AppImage.sha256
zsyncmake -u "https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/GAMEMAX-LCD-x86_64.AppImage" \
-o GAMEMAX-LCD-x86_64.AppImage.zsync GAMEMAX-LCD-x86_64.AppImage
cat GAMEMAX-LCD-x86_64.AppImage.sha256
ls -l
- 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`
**Integrity:** verify the download with the published SHA-256, or use
`appimageupdatetool`/AppImageUpdate with the `.zsync` asset for delta updates.
The built-in updater (v1.2.3+) also verifies that checksum before replacing itself.
Independent project, not affiliated with the vendor — see DISCLAIMER.md.
files: |
dist/GAMEMAX-LCD-x86_64.AppImage
dist/GAMEMAX-LCD-x86_64.AppImage.sha256
dist/GAMEMAX-LCD-x86_64.AppImage.zsync