948f15d44a
tauri-apps/tauri-action жёстко ходит в api.github.com для создания релиза и загрузки апдейтер-артефактов — не настраиваемый эндпоинт, для Gitea не годится ни при какой замене секретов. Вместо неё: - scripts/gitea-publish-release.mjs — публикует релиз через прямые вызовы Gitea Release API: собирает latest.json (формат манифеста Tauri v2 updater) из .sig-файлов подписанных бандлов, создаёт версионный релиз (тег = версия, для истории) и пересоздаёт релиз "latest" — у Gitea нет built-in алиаса /releases/latest/download/<file> как у GitHub, поэтому тег "latest" удаляется и создаётся заново на каждом релизе с теми же ассетами, чтобы URL апдейтера был стабильным. Оба релиза удаляются-и-пересоздаются — идемпотентно к повторному прогону тега. - .gitea/workflows/release.yml — job "build" (та же матрица платформ) вызывает `tauri build` напрямую (подпись через TAURI_SIGNING_PRIVATE_KEY читает сам Tauri CLI, без разницы кто его вызывает), собирает пары <файл>+.sig в dist-bundle/ и грузит артефактом bundle-<updater_key>; job "publish" скачивает все артефакты и вызывает скрипт выше. - tauri.conf.json: добавлен второй updater-эндпоинт (Gitea, плейсхолдер CHANGE_ME_GITEA_SERVER — заполнить реальным адресом) рядом с существующим GitHub — апдейтер пробует оба по порядку. GitHub-версия пайплайна не тронута, продолжает работать через tauri-action как раньше. Не проверено вживую на реальном Gitea/Windows/macOS раннере — нет доступа в этой среде. Нужные секреты в Gitea: GITEA_SERVER_URL, GITEA_TOKEN (личный токен с правом записи в репозиторий), плюс уже существующие TAURI_SIGNING_PRIVATE_KEY(_PASSWORD).
48 lines
1.7 KiB
JSON
48 lines
1.7 KiB
JSON
{
|
|
"$schema": "https://schema.tauri.app/config/2",
|
|
"productName": "netrunner_app",
|
|
"version": "0.1.0",
|
|
"identifier": "com.netrunner.vpn",
|
|
"build": {
|
|
"beforeDevCommand": "pnpm dev",
|
|
"beforeBuildCommand": "pnpm build",
|
|
"devUrl": "http://192.168.110.169:1420",
|
|
"frontendDist": "../dist"
|
|
},
|
|
"app": {
|
|
"windows": [
|
|
{
|
|
"title": "Netrunner VPN",
|
|
"width": 500,
|
|
"height": 800
|
|
}
|
|
],
|
|
"security": {
|
|
"csp": "default-src 'self' tauri: localhost; script-src 'self' 'wasm-unsafe-eval' https://web.telegram.org https://*.telegram.org; worker-src 'self' blob:; connect-src 'self' tauri: http://tauri.localhost https://netrunner-vpn.com https://*.netrunner-vpn.com https://web.telegram.org https://*.telegram.org wss://*.web.telegram.org wss://*.tdlib.org; img-src 'self' data: https://web.telegram.org https://*.telegram.org; style-src 'self' 'unsafe-inline' https://web.telegram.org https://*.telegram.org; frame-src https://web.telegram.org https://*.telegram.org;"
|
|
}
|
|
},
|
|
"bundle": {
|
|
"active": true,
|
|
"targets": "all",
|
|
"icon": [
|
|
"icons/32x32.png",
|
|
"icons/64x64.png",
|
|
"icons/128x128.png",
|
|
"icons/128x128@2x.png",
|
|
"icons/icon.png",
|
|
"icons/icon.ico",
|
|
"icons/icon.icns"
|
|
]
|
|
},
|
|
"plugins": {
|
|
"updater": {
|
|
"active": true,
|
|
"endpoints": [
|
|
"https://github.com/nineAp/netrunner-app/releases/latest/download/latest.json",
|
|
"https://CHANGE_ME_GITEA_SERVER/nineAp/netrunner-app/releases/download/latest/latest.json"
|
|
],
|
|
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDczRUU1OTM0MzM1N0M2MzkKUldRNXhsY3pORm51Yzl0YStpa1ZiWkgvWHByMTFBdlpCODJjWmt2UEEyMVI3WWg1MXZFZGt3ZmgK"
|
|
}
|
|
}
|
|
}
|