From 20e605bab786a6402736f8b611de6d1ec4171b18 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Thu, 4 Jun 2026 07:49:34 +0800 Subject: [PATCH] chore: add gui smoke check --- README.md | 8 ++++++++ docs/PLAN.md | 3 +++ scripts/check-gui.sh | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100755 scripts/check-gui.sh diff --git a/README.md b/README.md index 9f93c78..85a3ab0 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,14 @@ ./scripts/build.sh server # только сервер ``` +Проверка GUI перед коммитом: + +```bash +./scripts/check-gui.sh +``` + +Она проверяет локали, production-сборку фронтенда, актуальность embedded Wails assets и компиляцию GUI-бинаря. + Бинарники попадают в `build/`: - `verstak-gui-linux-amd64` — GUI-приложение - `verstak-server-linux-amd64` — опциональный сервер синхронизации diff --git a/docs/PLAN.md b/docs/PLAN.md index 55b4f5c..8a6c1a0 100644 --- a/docs/PLAN.md +++ b/docs/PLAN.md @@ -314,6 +314,9 @@ verstak/ ./scripts/build.sh server # Sync server ./scripts/build.sh all # Оба +# GUI smoke check перед коммитом +./scripts/check-gui.sh + # Dev-режим GUI cd frontend && npm run dev ``` diff --git a/scripts/check-gui.sh b/scripts/check-gui.sh new file mode 100755 index 0000000..3c38b6c --- /dev/null +++ b/scripts/check-gui.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Static GUI smoke check for Wails/Svelte builds. + +set -euo pipefail + +ROOT="$(cd "$(dirname "$0")/.." && pwd)" +GUI_BUILD_OUT="${GUI_BUILD_OUT:-/tmp/verstak-gui-check}" + +echo "=== Checking GUI locale/source hygiene ===" +"$ROOT/scripts/check-i18n.sh" + +echo "" +echo "=== Building frontend production bundle ===" +(cd "$ROOT/frontend" && npm run build) + +echo "" +echo "=== Checking embedded Wails assets ===" +if [ ! -d "$ROOT/cmd/verstak-gui/frontend-dist" ]; then + echo "FAIL: cmd/verstak-gui/frontend-dist is missing" + echo "Run ./scripts/build.sh gui and commit the embedded assets." + exit 1 +fi + +if ! diff -qr "$ROOT/frontend/dist" "$ROOT/cmd/verstak-gui/frontend-dist"; then + echo "" + echo "FAIL: embedded Wails assets are stale." + echo "Run ./scripts/build.sh gui and commit cmd/verstak-gui/frontend-dist." + exit 1 +fi + +echo "OK: embedded Wails assets match frontend/dist" + +echo "" +echo "=== Compiling GUI binary ===" +go build -tags "webkit2_41 desktop production" -ldflags="-s -w" -o "$GUI_BUILD_OUT" "$ROOT/cmd/verstak-gui/" + +echo "OK: GUI smoke check passed"