feat(phase1): rebrand to TTRPG Player and drop Git updates feed

Rename product to TTRPG Player (TTRPGPlayer / com.ttrpgplayer.app), use .ttrpg.zip for new saves while keeping .dnd.zip import, accept TTRPG- and DND- license keys on client, and remove sync-update-feed plus CI push to DndGamePlayerUpdates.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ivan Fontosh
2026-05-17 20:56:14 +08:00
parent 2c03921d23
commit 7c858ba633
27 changed files with 253 additions and 1328 deletions
+11 -65
View File
@@ -1,13 +1,9 @@
# Сборка по тегу v* и выкладка в публичный репо (ветка updates).
# Сборка по тегу v* (Win NSIS + Linux AppImage x64/arm64).
#
# Метки runs-on = labels твоих act_runner (Админка Gitea → Действия → Раннеры).
# Не используем windows-latest/macos-latest — это только GitHub-hosted.
# По умолчанию: один job на ubuntu-22.04 — Win (Wine+NSIS), Linux AppImage (x64+arm64), sync в updates без затирания других ОС.
# Метки runs-on = labels act_runner (Gitea → Действия → Раннеры).
# Публикация обновлений в Git-репозиторий отключена (фаза 1); выкладка на статический VPS — фаза 2.
#
# Один job без actions/upload-artifact: официальный upload-artifact@v4 с GitHub на Gitea
# падает (GHESNotSupportedError). Сборка и sync-update-feed идут в одном окружении.
#
# Secrets: DND_UPDATE_FEED_URL, DND_UPDATES_SERVER, UPDATES_REPO, DND_UPDATES_PUSH_TOKEN — docs/GITEA_AUTO_UPDATE.md
# Secrets для feed больше не нужны. См. docs/GITEA_AUTO_UPDATE.md
name: Release
@@ -30,10 +26,6 @@ jobs:
node-version: '22'
cache: 'npm'
# Не включаем i386 / wine32: на Debian с репами только amd64 (nginx, sury, …)
# apt ломается на цепочке libgphoto2/libgd:i386. NSIS — нативный пакет `nsis`;
# electron-builder подхватывает makensis; wine64 — для win-утилит (rcedit и т.п.).
# Пакет `wine` (мета) тянет wine32 → снова i386. electron-builder ищет именно `wine` в PATH.
- name: Зависимости Win-сборки на Linux (amd64, без multiarch i386)
shell: bash
run: |
@@ -69,7 +61,6 @@ jobs:
- run: npm run build
# Linux AppImage (x64 + arm64) до подмешивания win32-sharp в node_modules.
- name: Зависимости Linux AppImage и кросс-сборка arm64 на amd64
shell: bash
run: |
@@ -81,20 +72,8 @@ jobs:
squashfs-tools
- name: electron-builder (linux AppImage x64, arm64)
shell: bash
env:
DND_UPDATE_FEED_URL: ${{ secrets.DND_UPDATE_FEED_URL }}
run: |
set -euo pipefail
if [[ -z "${DND_UPDATE_FEED_URL:-}" ]]; then
echo "Secret DND_UPDATE_FEED_URL is not set (URL со слэшем в конце)" >&2
exit 1
fi
npx electron-builder --linux AppImage --x64 --arm64 --publish never \
--config.publish.provider=generic \
--config.publish.url="${DND_UPDATE_FEED_URL}"
run: npx electron-builder --linux AppImage --x64 --arm64 --publish never
# Не используем `npm install`: на Linux npm падает с EBADPLATFORM для win32-пакета.
- name: sharp (@img/sharp-win32-x64) для Windows-артефакта при сборке на Linux
shell: bash
run: |
@@ -108,45 +87,12 @@ jobs:
rm -rf "$tmp"
- name: electron-builder (win)
run: npx electron-builder --win --publish never
- name: Артефакты сборки
shell: bash
env:
DND_UPDATE_FEED_URL: ${{ secrets.DND_UPDATE_FEED_URL }}
run: |
set -euo pipefail
if [[ -z "${DND_UPDATE_FEED_URL:-}" ]]; then
echo "Secret DND_UPDATE_FEED_URL is not set (URL со слэшем в конце)" >&2
exit 1
fi
npx electron-builder --win --publish never \
--config.publish.provider=generic \
--config.publish.url="${DND_UPDATE_FEED_URL}"
# Артефакты читает sync напрямую из release/ (без дублирующих _win/_linux — меньше ENOSPC).
- name: Пустой каталог mac (пока нет сборки mac в CI)
run: mkdir -p _mac
- name: Push в публичный репозиторий updates
shell: bash
env:
DND_UPDATES_SERVER: ${{ secrets.DND_UPDATES_SERVER }}
UPDATES_REPO: ${{ secrets.UPDATES_REPO }}
DND_UPDATES_PUSH_TOKEN: ${{ secrets.DND_UPDATES_PUSH_TOKEN }}
ARTIFACT_WIN: ${{ github.workspace }}/release
ARTIFACT_MAC: ${{ github.workspace }}/_mac
ARTIFACT_LINUX: ${{ github.workspace }}/release
DND_FEED_TMP_ROOT: ${{ github.workspace }}/.dnd-feed-tmp
DND_UPDATES_SQUASH_HISTORY: '1'
DND_GIT_PUSH_RETRIES: '8'
DND_GIT_PUSH_RETRY_SLEEP_SEC: '35'
GIT_COMMIT_TAG: ${{ github.ref_name }}
run: |
set -euo pipefail
mkdir -p "${{ github.workspace }}/.dnd-feed-tmp" "${{ github.workspace }}/_mac"
node scripts/sync-update-feed.mjs
# Когда появится macOS-раннер: отдельный job build-macos, копирование eb-mac в _mac перед sync
# или расширить шаг «Каталог артефактов»; сейчас всё в одном job `release`.
#
# build-macos:
# runs-on: macos-14
# steps: ...
echo "=== release/ ==="
ls -la release/ || true
echo "Готово. Выкладка на update-сервер — вручную или в фазе 2 (VPS + nginx)."