PG18 de retour, mises à jour nocturnes, tests de reprise et documentation
🚀 Docker Build and Push / build-and-push (15) (push) Successful in 5m29s
🚀 Docker Build and Push / build-and-push (16) (push) Successful in 6m10s
🚀 Docker Build and Push / build-and-push (17) (push) Successful in 5m20s
🚀 Docker Build and Push / build-and-push (18) (push) Successful in 5m21s

Image
- Étape `base` commune : tous les paquets sont mis à niveau (PostgreSQL à la
  dernière mineure, pgvector, Debian). L'image de base de VectorChord restait
  figée à la version de sa publication.
- En-têtes du serveur épinglés sur la version du serveur installé. PG18 avait
  été retiré parce que TimescaleDB, compilé avec des en-têtes 18.6, était chargé
  par un serveur 18.3 (`undefined symbol: palloc0_mul`).
- Sonde de santé avec l'utilisateur et la base du conteneur : en `postgres`,
  elle écrivait une erreur FATAL au journal dès que POSTGRES_USER était défini.
- Label `base.name` corrigé : il reprenait la version du paquet au lieu de la
  version majeure.

CI
- PG18 ajouté à la matrice.
- Exécution nocturne : apt est interrogé dans l'image publiée ; elle n'est
  reconstruite et republiée que s'il lui reste des mises à jour, sinon elle est
  seulement testée. Lancement manuel possible.
- `docker-build.yml` supprimé : l'ancien workflow à actions externes tournait
  encore à chaque push, en double de `docker.yml`.
- `paths-ignore` : un push de documentation seule ne lance pas la CI.
- Labels `version`, `url` et `fr.killinger.apt-refresh`.

Tests
- `tests.sh`, la même commande en local et en CI : utilisateur et base autres
  que `postgres`, version majeure du serveur, présence des cinq extensions,
  redémarrage, et reprise d'une base créée par l'image publiée.

Documentation
- README en vitrine, CLAUDE.md, docs/architecture.md,
  docs/exploitation/publication.md, six décisions, docs/a-faire.md.
This commit is contained in:
maxime.killinger committed 2026-10-02 17:55:42 +02:00
1 parent 2a0f84e81a
commit 7de55c5655
18 files changed
+956 -242

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
# À faire
Ce fichier ne contient que l'ouvert. Un point terminé est supprimé.
## Versions
- **TimescaleDB 2.30.2 est disponible**, l'image épingle 2.28.3. Vérifié sur PostgreSQL 17 :
la 2.30.2 compile, passe les tests et reprend une base créée en 2.28.3 après
`ALTER EXTENSION timescaledb UPDATE`. Reste à le vérifier pour 15, 16 et 18, puis à suivre
la procédure de [exploitation/publication.md](exploitation/publication.md), base de Health
comprise.
## CI
- **Le cache de construction est borné à 8 Go, et les couches des quatre versions en pèsent
environ 7,3** (1,8 Go par version, dont 1,1 pour les outils de compilation), sur un cache
partagé avec les autres dépôts du runner. Une couche évincée est reconstruite au push
suivant. À mesurer sur Tower avant de relever la borne.
- **Vérifier qu'un échec de l'exécution nocturne est notifié** par Gitea. Sinon, seuls la page
Actions et le badge du README le montrent.
## Dépôt
- **`init-timescale.sh` n'est copié dans aucune image.** À supprimer s'il ne sert plus.
- **`build.sh` nomme l'image `timescaledb-vectorchord`**, un nom que rien d'autre n'utilise.
- **`docker-entrypoint-wrapper.sh` refait `chown -R` sur tout le volume à chaque
démarrage.** Ne le faire que si le propriétaire n'est pas `postgres` éviterait le parcours
d'une grosse base.