rebrand: arahkan tautan, badge, label UI & cek-update ke Gitea (bukan GitHub)
This commit is contained in:
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
@@ -1,6 +1,6 @@
|
|||||||
name: release
|
name: release
|
||||||
|
|
||||||
# Build the GAMEMAX LCD AppImage from source and attach it to a GitHub release.
|
# Build the GAMEMAX LCD AppImage from source and attach it to a Gitea release.
|
||||||
# Trigger: push a tag like v1.0.0 (or run manually from the Actions tab).
|
# Trigger: push a tag like v1.0.0 (or run manually from the Actions tab).
|
||||||
|
|
||||||
on:
|
on:
|
||||||
@@ -29,7 +29,7 @@ jobs:
|
|||||||
- name: Build AppImage
|
- name: Build AppImage
|
||||||
env:
|
env:
|
||||||
APPIMAGE_EXTRACT_AND_RUN: "1"
|
APPIMAGE_EXTRACT_AND_RUN: "1"
|
||||||
UPDATE_INFO_URL: https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/GAMEMAX-LCD-x86_64.AppImage.zsync
|
UPDATE_INFO_URL: ${{ github.server_url }}/${{ github.repository }}/releases/download/${{ github.ref_name }}/GAMEMAX-LCD-x86_64.AppImage.zsync
|
||||||
run: bash packaging/build_appimage.sh
|
run: bash packaging/build_appimage.sh
|
||||||
|
|
||||||
- name: Smoke test the bundle (no display)
|
- name: Smoke test the bundle (no display)
|
||||||
@@ -43,7 +43,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
cd dist
|
cd dist
|
||||||
sha256sum GAMEMAX-LCD-x86_64.AppImage > GAMEMAX-LCD-x86_64.AppImage.sha256
|
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" \
|
zsyncmake -u "${{ github.server_url }}/${{ github.repository }}/releases/download/${{ github.ref_name }}/GAMEMAX-LCD-x86_64.AppImage" \
|
||||||
-o GAMEMAX-LCD-x86_64.AppImage.zsync GAMEMAX-LCD-x86_64.AppImage
|
-o GAMEMAX-LCD-x86_64.AppImage.zsync GAMEMAX-LCD-x86_64.AppImage
|
||||||
cat GAMEMAX-LCD-x86_64.AppImage.sha256
|
cat GAMEMAX-LCD-x86_64.AppImage.sha256
|
||||||
ls -l
|
ls -l
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ Reverse engineered independently from the Windows vendor software
|
|||||||
(`PcInfoMonitorPro.exe` / "IceBurg Digital Software"); the protocol notes are in
|
(`PcInfoMonitorPro.exe` / "IceBurg Digital Software"); the protocol notes are in
|
||||||
[`docs/reverse-engineering.md`](docs/reverse-engineering.md) (Indonesian).
|
[`docs/reverse-engineering.md`](docs/reverse-engineering.md) (Indonesian).
|
||||||
|
|
||||||
[](https://github.com/oxpoe/Gamemax-linux-apps/releases)
|
[](https://gitea.oxpoe.qzz.io/oxpoe/Gamemax-linux-apps/releases)
|
||||||
[](https://github.com/oxpoe/Gamemax-linux-apps/actions/workflows/release.yml)
|
[](https://gitea.oxpoe.qzz.io/oxpoe/Gamemax-linux-apps/actions/workflows/release.yml)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
[](#compatibility)
|
[](#compatibility)
|
||||||
[](src/gamemax_report.py)
|
[](src/gamemax_report.py)
|
||||||
@@ -133,7 +133,7 @@ One command (downloads the latest release, verifies its SHA-256, installs the ap
|
|||||||
systemd user unit, the menu entry and the udev rule):
|
systemd user unit, the menu entry and the udev rule):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://raw.githubusercontent.com/oxpoe/Gamemax-linux-apps/main/install.sh | bash
|
curl -fsSL https://gitea.oxpoe.qzz.io/oxpoe/Gamemax-linux-apps/raw/branch/main/install.sh | bash
|
||||||
# uninstall: bash install.sh --uninstall (add --remove-data to drop settings too)
|
# uninstall: bash install.sh --uninstall (add --remove-data to drop settings too)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
11
install.sh
11
install.sh
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# GAMEMAX LCD — pemasangan / pelepasan satu perintah.
|
# GAMEMAX LCD — pemasangan / pelepasan satu perintah.
|
||||||
#
|
#
|
||||||
# curl -fsSL https://raw.githubusercontent.com/oxpoe/Gamemax-linux-apps/main/install.sh | bash
|
# curl -fsSL https://gitea.oxpoe.qzz.io/oxpoe/Gamemax-linux-apps/raw/branch/main/install.sh | bash
|
||||||
#
|
#
|
||||||
# Opsi:
|
# Opsi:
|
||||||
# --uninstall lepaskan pemasangan (layanan, aplikasi, config, ikon, entri menu)
|
# --uninstall lepaskan pemasangan (layanan, aplikasi, config, ikon, entri menu)
|
||||||
@@ -15,7 +15,8 @@ set -euo pipefail
|
|||||||
|
|
||||||
REPO="oxpoe/Gamemax-linux-apps"
|
REPO="oxpoe/Gamemax-linux-apps"
|
||||||
ASSET="GAMEMAX-LCD-x86_64.AppImage"
|
ASSET="GAMEMAX-LCD-x86_64.AppImage"
|
||||||
RAW="https://raw.githubusercontent.com/$REPO/main"
|
INSTANCE="https://gitea.oxpoe.qzz.io"
|
||||||
|
RAW="$INSTANCE/$REPO/raw/branch/main"
|
||||||
|
|
||||||
OPT_DIR="$HOME/.local/opt/gamemax-lcd"
|
OPT_DIR="$HOME/.local/opt/gamemax-lcd"
|
||||||
APP="$OPT_DIR/GAMEMAX-LCD.AppImage"
|
APP="$OPT_DIR/GAMEMAX-LCD.AppImage"
|
||||||
@@ -76,10 +77,10 @@ need sha256sum
|
|||||||
command -v systemctl >/dev/null 2>&1 || die "systemd (systemctl) dibutuhkan untuk layanan"
|
command -v systemctl >/dev/null 2>&1 || die "systemd (systemctl) dibutuhkan untuk layanan"
|
||||||
|
|
||||||
if [ "$VERSION" = "latest" ]; then
|
if [ "$VERSION" = "latest" ]; then
|
||||||
BASE="https://github.com/$REPO/releases/latest/download"
|
VERSION="$(curl -fsSL "$INSTANCE/api/v1/repos/$REPO/releases/latest" | sed -n 's/.*"tag_name":"\([^"]*\)".*/\1/p')"
|
||||||
else
|
[ -n "$VERSION" ] || die "gagal menentukan rilis terbaru di Gitea"
|
||||||
BASE="https://github.com/$REPO/releases/download/$VERSION"
|
|
||||||
fi
|
fi
|
||||||
|
BASE="$INSTANCE/$REPO/releases/download/$VERSION"
|
||||||
|
|
||||||
say "== GAMEMAX LCD: pemasangan ($VERSION) =="
|
say "== GAMEMAX LCD: pemasangan ($VERSION) =="
|
||||||
mkdir -p "$OPT_DIR" "$DATA_DIR" "$DESKTOP_DIR" "$ICON_DIR" "$HOME/.config/systemd/user"
|
mkdir -p "$OPT_DIR" "$DATA_DIR" "$DESKTOP_DIR" "$ICON_DIR" "$HOME/.config/systemd/user"
|
||||||
|
|||||||
@@ -36,14 +36,14 @@ from PySide6.QtNetwork import QLocalServer, QLocalSocket
|
|||||||
APP_VERSION = "1.3.3"
|
APP_VERSION = "1.3.3"
|
||||||
APP_NAME = "IceBurg LCD"
|
APP_NAME = "IceBurg LCD"
|
||||||
REPO = "oxpoe/Gamemax-linux-apps"
|
REPO = "oxpoe/Gamemax-linux-apps"
|
||||||
RELEASES_API = f"https://api.github.com/repos/{REPO}/releases/latest"
|
RELEASES_API = f"https://gitea.oxpoe.qzz.io/api/v1/repos/{REPO}/releases/latest"
|
||||||
UPDATE_ASSET = "GAMEMAX-LCD-x86_64.AppImage"
|
UPDATE_ASSET = "GAMEMAX-LCD-x86_64.AppImage"
|
||||||
HERE = os.path.dirname(os.path.abspath(__file__))
|
HERE = os.path.dirname(os.path.abspath(__file__))
|
||||||
sys.path.insert(0, HERE)
|
sys.path.insert(0, HERE)
|
||||||
import gamemax_report as gr # noqa: E402
|
import gamemax_report as gr # noqa: E402
|
||||||
|
|
||||||
DONATE_URL = "https://donasi.oxpoe.qzz.io/"
|
DONATE_URL = "https://donasi.oxpoe.qzz.io/"
|
||||||
GITHUB_URL = "https://github.com/oxpoe/Gamemax-linux-apps"
|
REPO_URL = "https://gitea.oxpoe.qzz.io/oxpoe/Gamemax-linux-apps"
|
||||||
|
|
||||||
SERVICE = "gamemax-report.service"
|
SERVICE = "gamemax-report.service"
|
||||||
CONFIG_PATH = gr.CONFIG_PATH
|
CONFIG_PATH = gr.CONFIG_PATH
|
||||||
@@ -144,10 +144,10 @@ def verify_sha256(path, sha_url):
|
|||||||
|
|
||||||
|
|
||||||
def latest_release():
|
def latest_release():
|
||||||
"""(tag, url aset) dari rilis terbaru GitHub — dipanggil dari thread pekerja."""
|
"""(tag, url aset) dari rilis terbaru Gitea — dipanggil dari thread pekerja."""
|
||||||
ensure_ca_bundle()
|
ensure_ca_bundle()
|
||||||
req = urllib.request.Request(RELEASES_API, headers={
|
req = urllib.request.Request(RELEASES_API, headers={
|
||||||
"Accept": "application/vnd.github+json", "User-Agent": "gamemax-lcd"})
|
"Accept": "application/json", "User-Agent": "gamemax-lcd"})
|
||||||
with urllib.request.urlopen(req, timeout=10) as resp:
|
with urllib.request.urlopen(req, timeout=10) as resp:
|
||||||
data = json.load(resp)
|
data = json.load(resp)
|
||||||
asset = next((a for a in data.get("assets", []) if a["name"] == UPDATE_ASSET), None)
|
asset = next((a for a in data.get("assets", []) if a["name"] == UPDATE_ASSET), None)
|
||||||
@@ -502,18 +502,18 @@ class Window(QWidget):
|
|||||||
donate = QPushButton("❤ Donasi")
|
donate = QPushButton("❤ Donasi")
|
||||||
donate.setToolTip(DONATE_URL)
|
donate.setToolTip(DONATE_URL)
|
||||||
donate.clicked.connect(lambda: open_link(DONATE_URL, self))
|
donate.clicked.connect(lambda: open_link(DONATE_URL, self))
|
||||||
github = QPushButton("GitHub")
|
repo_btn = QPushButton("Gitea")
|
||||||
github.setToolTip(GITHUB_URL)
|
repo_btn.setToolTip(REPO_URL)
|
||||||
github.clicked.connect(lambda: open_link(GITHUB_URL, self))
|
repo_btn.clicked.connect(lambda: open_link(REPO_URL, self))
|
||||||
links.addWidget(donate)
|
links.addWidget(donate)
|
||||||
links.addWidget(github)
|
links.addWidget(repo_btn)
|
||||||
links.addStretch(1)
|
links.addStretch(1)
|
||||||
copy_button = QPushButton("Salin report")
|
copy_button = QPushButton("Salin report")
|
||||||
copy_button.setToolTip("Salin isi report 65 byte ke papan klip (untuk laporan bug)")
|
copy_button.setToolTip("Salin isi report 65 byte ke papan klip (untuk laporan bug)")
|
||||||
copy_button.clicked.connect(self.copy_report)
|
copy_button.clicked.connect(self.copy_report)
|
||||||
links.addWidget(copy_button)
|
links.addWidget(copy_button)
|
||||||
self.check_button = QPushButton("Periksa pembaruan")
|
self.check_button = QPushButton("Periksa pembaruan")
|
||||||
self.check_button.setToolTip("Bandingkan dengan rilis terbaru di GitHub")
|
self.check_button.setToolTip("Bandingkan dengan rilis terbaru di Gitea")
|
||||||
self.check_button.clicked.connect(lambda: self.start_task("memeriksa pembaruan", self.do_check_update))
|
self.check_button.clicked.connect(lambda: self.start_task("memeriksa pembaruan", self.do_check_update))
|
||||||
links.addWidget(self.check_button)
|
links.addWidget(self.check_button)
|
||||||
self.update_button = QPushButton("Perbarui")
|
self.update_button = QPushButton("Perbarui")
|
||||||
@@ -659,7 +659,7 @@ class Window(QWidget):
|
|||||||
tag, url = latest_release()
|
tag, url = latest_release()
|
||||||
self._pending_update = (tag, url) if url and version_tuple(tag) > version_tuple(APP_VERSION) else None
|
self._pending_update = (tag, url) if url and version_tuple(tag) > version_tuple(APP_VERSION) else None
|
||||||
if not tag:
|
if not tag:
|
||||||
return "tidak bisa membaca daftar rilis GitHub"
|
return "tidak bisa membaca daftar rilis Gitea"
|
||||||
if self._pending_update:
|
if self._pending_update:
|
||||||
return f"versi baru tersedia: {tag} (terpasang v{APP_VERSION})"
|
return f"versi baru tersedia: {tag} (terpasang v{APP_VERSION})"
|
||||||
return f"sudah versi terbaru (v{APP_VERSION})"
|
return f"sudah versi terbaru (v{APP_VERSION})"
|
||||||
@@ -978,8 +978,8 @@ class Tray:
|
|||||||
"memeriksa pembaruan", self.window.do_check_update))
|
"memeriksa pembaruan", self.window.do_check_update))
|
||||||
donate_action = QAction("❤ Donasi", menu)
|
donate_action = QAction("❤ Donasi", menu)
|
||||||
donate_action.triggered.connect(lambda: open_link(DONATE_URL, self.window))
|
donate_action.triggered.connect(lambda: open_link(DONATE_URL, self.window))
|
||||||
github_action = QAction("GitHub", menu)
|
repo_action = QAction("Gitea", menu)
|
||||||
github_action.triggered.connect(lambda: open_link(GITHUB_URL, self.window))
|
repo_action.triggered.connect(lambda: open_link(REPO_URL, self.window))
|
||||||
quit_action = QAction("Keluar", menu)
|
quit_action = QAction("Keluar", menu)
|
||||||
quit_action.triggered.connect(self.quit_app)
|
quit_action.triggered.connect(self.quit_app)
|
||||||
menu.addAction(show)
|
menu.addAction(show)
|
||||||
@@ -988,7 +988,7 @@ class Tray:
|
|||||||
menu.addSeparator()
|
menu.addSeparator()
|
||||||
menu.addAction(check_action)
|
menu.addAction(check_action)
|
||||||
menu.addAction(donate_action)
|
menu.addAction(donate_action)
|
||||||
menu.addAction(github_action)
|
menu.addAction(repo_action)
|
||||||
menu.addSeparator()
|
menu.addSeparator()
|
||||||
menu.addAction(quit_action)
|
menu.addAction(quit_action)
|
||||||
self.icon.setContextMenu(menu)
|
self.icon.setContextMenu(menu)
|
||||||
|
|||||||
Reference in New Issue
Block a user