From ec931b951f6a4b9d1b23d0d6c6b1576bcced160e Mon Sep 17 00:00:00 2001 From: bruno Date: Mon, 26 Oct 2026 21:42:30 -0400 Subject: [PATCH] Auto-backup: 210 scripts (@ 2026-10-26 21:42) --- .../scripts/deploy-notify.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 skills/devops/gitea-release-autodeploy/scripts/deploy-notify.py diff --git a/skills/devops/gitea-release-autodeploy/scripts/deploy-notify.py b/skills/devops/gitea-release-autodeploy/scripts/deploy-notify.py new file mode 100644 index 0000000..32a57e3 --- /dev/null +++ b/skills/devops/gitea-release-autodeploy/scripts/deploy-notify.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 +"""Notif ntfy de déploiement: deploy-notify.py [detail] +Tout en JSON vers la RACINE du serveur (headers HTTP = latin-1 → accents cassés en Title). +Ne jamais bloquer un déploiement si ntfy est KO: erreurs sur stderr, exit 0.""" +import json, sys, urllib.request +app, ver, etat = sys.argv[1], sys.argv[2].lstrip("v"), sys.argv[3] +detail = sys.argv[4] if len(sys.argv) > 4 else "" +ok = etat == "ok" +body = {"topic": "dev-notifs", + "title": "Déploiement " + ("réussi" if ok else "en échec"), + "message": f"{app}: {'déployé' if ok else 'ÉCHEC'} v{ver}" + (f" — {detail}" if detail else ""), + "tags": ["white_check_mark" if ok else "rotating_light"], "priority": 3} +req = urllib.request.Request("https://ntfy.dracodev.net/", + data=json.dumps(body).encode(), headers={"Content-Type": "application/json", "User-Agent": "curl/8.0"}) +try: + urllib.request.urlopen(req, timeout=10).read() +except Exception as e: + print(f"ntfy indisponible: {e}", file=sys.stderr)