mirror of
https://github.com/IliesAllali/parenthese.git
synced 2026-11-14 00:22:03 +00:00
fix(sauvegardes): restauration testee en CI, copie de la base avant migration en tout-en-un
- La CI joue les commandes de sauvegarde et de restauration du README sur une vraie installation compose (base videe, medias effaces) et verifie comptes, arbres, personnes, migrations et fichiers (tools/docker-restore-check.sh). - README : restauration avec --if-exists, sinon pg_restore echoue sur une base vide. Sauvegarde avant chaque mise a jour, dite clairement. - Image tout-en-un : copie de la base dans /data/backups avant d'appliquer une migration (5 gardees), demarrage arrete si la copie echoue. - backup.sh : l'empreinte d'une archive de medias gardee disparaissait avec la rotation des fichiers d'empreintes, elle est recalculee. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1504a1e124
commit
217d503e20
6 files changed
+84
-10
No files matched your search
@@ -182,6 +182,13 @@ jobs:
|
||||
- name: Test de fumée par le port web
|
||||
run: bash tools/docker-smoke.sh http://localhost:8080
|
||||
|
||||
# Les commandes de sauvegarde et de restauration du README, jouées pour de vrai
|
||||
- name: Sauvegarde puis restauration
|
||||
run: |
|
||||
set -euo pipefail
|
||||
bash tools/docker-restore-check.sh
|
||||
bash tools/docker-smoke.sh http://localhost:8080
|
||||
|
||||
# Un second front qui joint l'API par le nom de son conteneur (API_UPSTREAM), comme sur Umbrel.
|
||||
- name: Front avec une autre adresse d'API
|
||||
run: |
|
||||
@@ -233,6 +240,9 @@ jobs:
|
||||
docker restart aio
|
||||
bash tools/docker-smoke.sh http://localhost:8080
|
||||
docker logs aio 2>&1 | grep -c "première installation" | grep -qx 1
|
||||
# Base à jour au redémarrage : pas de sauvegarde avant migration, mais pg_dump marche dans l'image
|
||||
[ -z "$(docker exec aio ls -A /data/backups 2>/dev/null)" ]
|
||||
[ "$(docker exec aio runuser -u postgres -- pg_dump -Fc parenthese | wc -c)" -gt 1000 ]
|
||||
|
||||
- name: Journaux en cas d'échec
|
||||
if: failure()
|
||||
|
||||
Reference in new issue
Block a user