From 93dad8a80dad6f90708384b98f04756c82afcadd Mon Sep 17 00:00:00 2001 From: Ivan Fontosh Date: Mon, 11 May 2026 22:47:17 +0800 Subject: [PATCH] ci: win build deps without i386 (nsis + wine64) for Debian runners Co-authored-by: Cursor --- .gitea/workflows/release.yml | 11 ++++++++--- docs/GITEA_AUTO_UPDATE.md | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 3f15056..2ee0dcd 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -28,11 +28,16 @@ jobs: node-version: '22' cache: 'npm' - - name: Wine (для NSIS под Linux) + # Не включаем i386 / wine32: на Debian с репами только amd64 (nginx, sury, …) + # apt ломается на цепочке libgphoto2/libgd:i386. NSIS — нативный пакет `nsis`; + # electron-builder подхватывает makensis; wine64 — для win-утилит (rcedit и т.п.). + - name: Зависимости Win-сборки на Linux (amd64, без multiarch i386) run: | - sudo dpkg --add-architecture i386 sudo apt-get update - sudo apt-get install -y wine64 wine32 mono-devel ca-certificates + sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates \ + nsis \ + wine64 - name: Версия из тега shell: bash diff --git a/docs/GITEA_AUTO_UPDATE.md b/docs/GITEA_AUTO_UPDATE.md index bebbd4f..e9b8a01 100644 --- a/docs/GITEA_AUTO_UPDATE.md +++ b/docs/GITEA_AUTO_UPDATE.md @@ -100,7 +100,7 @@ Gitea **не запускает** workflow на своём процессе: н ### Требования к машине под наш `release.yml` -В workflow для job **`ubuntu-22.04`** идут **`sudo apt-get`** и **Wine** на **Linux**. Поэтому: +В workflow для job **`ubuntu-22.04`** идут **`sudo apt-get`** (пакеты **`nsis`**, **`wine64`**) на **Linux**. Multiarch **i386** намеренно не включается — на Debian с репозиториями только под amd64 (nginx, sury и т.п.) установка **wine32** часто падает с «unmet dependencies». Поэтому: - Нужен **Linux x86_64** (идеально **Ubuntu 22.04**), либо **WSL2** с Ubuntu 22.04 на Windows. - Запускать раннер на «голом» Windows с меткой `ubuntu-22.04` **бессмысленно** — шаги с `apt` не выполнятся. @@ -315,7 +315,7 @@ sudo journalctl -u gitea-act-runner -f - В **`.gitea/workflows/release.yml`** в `runs-on:` должна совпадать **именно метка `ubuntu-22.04`** (Gitea сопоставляет её и с **`ubuntu-22.04:host`**, и с **`ubuntu-22.04:docker://...`** — см. [Labels](https://docs.gitea.com/usage/actions/act-runner#labels) в документации act_runner). - Если при регистрации указал только **`self-hosted`** — добавь **`ubuntu-22.04:host`** (или поменяй `runs-on` в workflow на твои метки и закоммить). -Сборка **Windows (NSIS)** в CI идёт **на Linux** с **Wine**. Отдельная **macOS**-сборка в workflow отключена, пока нет Mac-раннера (см. комментарии в `release.yml`). +Сборка **Windows (NSIS)** в CI идёт **на Linux**: нативный **`nsis`** (`makensis`) + **`wine64`** (без **wine32**/i386 — см. комментарий в `release.yml`). Отдельная **macOS**-сборка в workflow отключена, пока нет Mac-раннера (см. комментарии в `release.yml`). ---