ci: build et publie aussi les paquets Linux (AppImage + deb)

- workflow: un seul job build Windows (Wine) + Linux puis publie tout
- publish-gitea.mjs: publie latest-linux.yml, AppImage, deb
- package.json: homepage (requis pour le build deb) + scripts build:all/publish
- publie toujours les 2 plateformes (le script efface tous les assets avant upload)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
lucasdpt
2026-06-14 13:31:36 +02:00
parent 0afba1a3b3
commit 073f0b2349
4 changed files with 30 additions and 12 deletions
+11 -8
View File
@@ -113,21 +113,24 @@ Publier une nouvelle version :
```bash
npm version patch # bump 0.1.0 -> 0.1.1 (la version EST la source de vérité)
export GITEA_TOKEN=xxxxx # token Gitea (scope write:repository)
npm run publish:win # build l'installeur + upload latest.yml/installeur/.blockmap
npm run publish # build Windows + Linux puis upload de tous les artefacts
```
`scripts/publish-gitea.mjs` crée la release `latest` si besoin, supprime les
anciens assets puis uploade les nouveaux. URL/owner/repo/tag sont surchargeables
via les variables `GITEA_URL` / `GITEA_OWNER` / `GITEA_REPO` / `GITEA_TAG`.
`scripts/publish-gitea.mjs` crée la release `latest` si besoin, supprime **tous**
les anciens assets puis uploade les nouveaux (Windows + Linux). C'est pourquoi on
build les deux plateformes avant de publier (`build:all`) : une publication ne
contenant qu'une plateforme effacerait l'autre. URL/owner/repo/tag sont
surchargeables via `GITEA_URL` / `GITEA_OWNER` / `GITEA_REPO` / `GITEA_TAG`.
**Publier via Gitea Actions (CI, déclenchement manuel)** — au lieu de builder en
local, tu peux lancer le workflow `.gitea/workflows/publish.yml` depuis l'onglet
*Actions* du repo (bouton « Run workflow »). Il build l'installeur Windows sous
Linux via Wine (image `electronuserland/builder`) puis publie sur la release
*Actions* du repo (bouton « Run workflow »). Sur un runner Linux (image
`electronuserland/builder`), il build l'**installeur Windows** (NSIS, via Wine) et
les **paquets Linux** (AppImage + .deb), puis publie le tout sur la release
`latest`. Optionnellement, l'input `bump` (patch/minor/major) incrémente la
version et pousse le commit avant le build. Pré-requis : Gitea Actions activé +
un act_runner enregistré (label `ubuntu-latest`, à adapter) ; le token auto
`secrets.GITEA_TOKEN` suffit s'il a le droit d'écrire les releases.
un act_runner enregistré (label `ubuntu-latest`, à adapter) ; un secret repo
`RELEASE_TOKEN` (scope `write:repository`) pour publier la release.
> Tester le flux en dev : `dev-app-update.yml` (déjà présent) pointe sur la même
> URL ; avec une version distante > version locale, le bandeau de maj apparaît