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
+11 -1
View File
@@ -38,9 +38,19 @@ cp -r ../backend backend
cp -r ../frontend frontend
echo "✅ Staged"
# ── 2c. Clé de signature des mises à jour (updater Tauri) ──────
if [ -f "obsigate-updater.key" ]; then
export TAURI_SIGNING_PRIVATE_KEY="$(cat obsigate-updater.key)"
SIGN_CONFIG=""
echo "[2c/5] Clé updater trouvée — artefacts .sig activés"
else
SIGN_CONFIG='--config {"bundle":{"createUpdaterArtifacts":false}}'
echo "[2c/5] Clé updater absente — build sans .sig"
fi
# ── 3. Build Tauri ────────────────────────────────────────────
echo "[3/5] Building Tauri application..."
cargo tauri build --target x86_64-unknown-linux-gnu --bundles deb,appimage
cargo tauri build --target x86_64-unknown-linux-gnu --bundles deb,appimage $SIGN_CONFIG
echo "✅ Build successful"
# ── 4. Copier le runtime à côté de l'exécutable ───────────────