Skip to content

feat: release release - #12

Merged
franckh-stack merged 1 commit into
mainfrom
feat/ci-build-images
Sep 5, 2026
Merged

feat: release release#12
franckh-stack merged 1 commit into
mainfrom
feat/ci-build-images

Conversation

@franckh-stack

@franckh-stack franckh-stack commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • Nouveau workflow .github/workflows/build-images.yml : build les 3 images (api, app, agent) sur push vers release (ou déclenchement manuel workflow_dispatch), push vers ghcr.io/franckh-stack/crm-{service} (latest + tag court du commit).
  • Cache Docker via type=gha (cache natif GitHub Actions) — objectif : ramener le bun install (1771+ paquets, 36-41min mesurés sur vigiep1 faute de cache incrémental) à quelques dizaines de secondes sur les runs suivants.
  • apps/app reçoit ses API_URL/APP_URL en build-args (https://crm.vigieproc.fr, figés une fois pour toutes — Next.js les grave dans le bundle client au build, pas au runtime, piège déjà rencontré en prod le 29/08/2026).

Pourquoi

Sur vigiep1, un rebuild complet des 3 services dépassait 2h (mesuré : crm-app ~45min, crm-agent ~70min, crm-api ~1h22 au premier build), dominé par bun install --production sur un disque I/O lent (/mnt/hermes-extra) sans aucun cache réutilisé entre builds (le Dockerfile réinstalle à froid par design, pour éviter l'incident de disque plein du 29/08). Un rebuild en parallèle des 3 services a aussi fait thrasher la RAM/swap de vigiep1 (1,3 Gi libre/7,6 Gi), en contention avec dagster/n8n/vigieproc-api qui tournent sur le même host.

Construire sur des runners GitHub dédiés élimine cette contention et permet un vrai cache incrémental.

Ce que cette PR NE fait PAS

  • Ne modifie pas le docker-compose.yml de production sur vigiep1 (non versionné dans ce repo) — la bascule build:image: + le provisionnement d'un PAT read:packages pour l'authentification à ghcr.io (registre privé) restent à faire séparément par Franck.
  • Ne déclenche aucun build immédiat sur du code existant — seul un futur push vers release (ou un déclenchement manuel) lancera le premier run.

Test plan

  • bun install --frozen-lockfile + push : hook pre-push complet passé (check-types, lint, lint:slop, test, 10/10 tâches turbo, 169/169 tests apps/app depuis le cache)
  • Premier run du workflow non encore observé — à valider au prochain push réel vers release ou via workflow_dispatch

🤖 Generated with Claude Code

https://claude.ai/code/session_01LtJccFqpSuP8tQ3Pwg1dYH

Déplace le build Docker des 3 services (api/app/agent) de vigiep1 vers
GitHub Actions. Sur vigiep1, bun install (1771+ paquets) prenait
36-41min par service faute de cache incrémental (Dockerfile réinstalle
à froid volontairement, cf. incident disque plein du 29/08) et de
disque I/O lent sur /mnt/hermes-extra -- un rebuild complet des 3
services dépassait 2h. Le cache GitHub Actions (type=gha) devrait
ramener ça à quelques dizaines de secondes sur les runs suivants,
sur des runners dédiés (pas de contention RAM/IO avec dagster/n8n/
vigieproc-api qui tournent sur le même host).

vigiep1 passera de `docker compose build` à `docker compose pull` --
changement du docker-compose.yml de production (non versionné dans ce
repo) à faire séparément, avec provisionnement d'un PAT read:packages
pour l'authentification à ghcr.io (registre privé).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LtJccFqpSuP8tQ3Pwg1dYH
@github-actions
github-actions Bot changed the base branch from release to main September 5, 2026 08:28
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Retargeted this onto main.

release is the default branch so that a plain clone runs the last tagged release, but nothing merges into it — it is fast-forwarded onto the tag by the Release workflow and that is all. Changes go to main, and reach release when a release is cut.

Nothing is wrong with your branch. If the diff now shows commits that are already on main, rebase and force-push:

git fetch origin main
git rebase origin/main
git push --force-with-lease

@franckh-stack
franckh-stack changed the base branch from main to release September 5, 2026 08:36
@franckh-stack
franckh-stack changed the base branch from release to main September 5, 2026 08:37
@github-actions github-actions Bot changed the title ci: build et push les images CRM vers ghcr.io feat: release release Sep 5, 2026
@franckh-stack
franckh-stack merged commit aec4f9d into main Sep 5, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant