feat(desktop): manifeste de mise a jour latest.json + builds locaux signes (#77)
CI / lint (push) Successful in 1m7s
CI / security (push) Successful in 43s
CI / test (push) Successful in 2m12s
CI / build (push) Successful in 42s
CI / e2e (push) Successful in 10m43s
Desktop Build / build-windows (push) Canceled after 0s
Desktop Build / build-linux (push) Canceled after 0s

- scripts/updater_manifest.py : construit latest.json (version, pub_date, platforms Windows/Linux avec signature .sig et URLs des assets).

- publish_release.py : genere latest.json, upload des .sig + latest.json, rappel de commit.

- tauri.conf.json : endpoint updater -> raw/branch/main/desktop/latest.json.

- build-windows.bat / build-linux.sh : detection automatique de obsigate-updater.key (signature) ou repli non signe.

- .gitignore : ignore desktop/key/ ; tests/test_updater_manifest.py (8 tests).
This commit is contained in:
2026-09-12 10:01:56 -04:00
parent d3299166bb
commit 8ddee212e5
13 changed files with 432 additions and 33 deletions
+13 -2
View File
@@ -21,9 +21,20 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
Le workflow `.gitea/workflows/desktop-build.yml` expose les secrets
`TAURI_SIGNING_PRIVATE_KEY` / `TAURI_SIGNING_PRIVATE_KEY_PASSWORD` aux builds
Windows et Linux, avec repli automatique en build **non signé** si le secret est
absent (CI toujours verte). Procédure complète :
absent (CI toujours verte). Procédure complète :
[docs/DEVELOPMENT_AND_RELEASES.md](./docs/DEVELOPMENT_AND_RELEASES.md#2bis-signature-des-mises-à-jour-updater-tauri).
Reste à produire le manifeste `latest.json`.
- **#77 Desktop — Manifeste de mise à jour `latest.json`** — nouveau
`scripts/updater_manifest.py` qui construit le document consommé par l'updater
Tauri (version, notes, `pub_date`, `platforms` Windows/Linux avec signature
`.sig` et URLs des assets). Il est généré automatiquement par
`scripts/publish_release.py` (écrit `desktop/latest.json`, l'ajoute aux assets
de la release, upload des `.sig`) et peut être lancé seul. L'endpoint de
l'updater (`desktop/tauri.conf.json`) pointe désormais sur le manifeste
versionné `.../raw/branch/main/desktop/latest.json`. Les builds locaux
(`build-windows.bat`, `build-linux.sh`) détectent automatiquement
`desktop/obsigate-updater.key` pour signer, ou désactivent les artefacts de
mise à jour s'il est absent. Tests : `tests/test_updater_manifest.py` (8).
- **#77 Desktop — Protocole de tests E2E manuels** — nouveau
[`docs/DESKTOP_E2E_CHECKLIST.md`](./docs/DESKTOP_E2E_CHECKLIST.md) : prérequis,