From 66894ecdca16493539c8bc4857e4761379cf235e Mon Sep 17 00:00:00 2001 From: oxpoe Date: Wed, 14 Oct 2026 21:45:32 +0700 Subject: [PATCH] ci: rilis via API Gitea (ganti action-gh-release) + fix deps build --- .github/workflows/release.yml | 51 +++++++++++++++++------------------ 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3174fcd..6bc9756 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: run: | sudo apt-get update sudo apt-get install -y --no-install-recommends \ - libgl1 libegl1 libxkbcommon0 libdbus-1-3 libfuse2 fuse zsync + libgl1 libegl1 libxkbcommon0 libdbus-1-3 libfuse2 fuse zsync libpython3.12 - name: Set up uv uses: astral-sh/setup-uv@v5 @@ -48,32 +48,29 @@ jobs: 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 }}`. + - name: Publish release (Gitea API) + env: + TOKEN: ${{ github.token }} + run: | + API="${GITHUB_API_URL:-${GITHUB_SERVER_URL}/api/v1}" + TAG="${GITHUB_REF_NAME}" + cat > /tmp/body.md <<'EOF' + Linux bridge + tray app for the LCD panel of GAMEMAX IceBurg Digital AIO coolers. - **Download** `GAMEMAX-LCD-x86_64.AppImage`, then: + **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 - ``` + ```bash + chmod +x GAMEMAX-LCD-x86_64.AppImage + ./GAMEMAX-LCD-x86_64.AppImage + ``` - 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 + Verify with the published SHA-256, or use AppImageUpdate with the `.zsync` asset. + Independent project, not affiliated with the vendor. + EOF + python3 -c 'import json,sys;print(json.dumps({"tag_name":sys.argv[1],"name":"GAMEMAX LCD "+sys.argv[1],"body":open(sys.argv[2]).read()}))' "$TAG" /tmp/body.md > /tmp/rel.json + RID=$(curl -sf -X POST -H "Authorization: token $TOKEN" -H "Content-Type: application/json" "$API/repos/$GITHUB_REPOSITORY/releases" --data @/tmp/rel.json | python3 -c 'import json,sys;print(json.load(sys.stdin)["id"])') + echo "release id=$RID" + for f in dist/GAMEMAX-LCD-x86_64.AppImage dist/GAMEMAX-LCD-x86_64.AppImage.sha256 dist/GAMEMAX-LCD-x86_64.AppImage.zsync; do + [ -f "$f" ] || continue + curl -sf -X POST -H "Authorization: token $TOKEN" -F "attachment=@$f" "$API/repos/$GITHUB_REPOSITORY/releases/$RID/assets?name=$(basename "$f")" -o /dev/null + done