From 148ac997df4c5d616ae6290abf2965a70162b26b Mon Sep 17 00:00:00 2001 From: Archicratia Date: Wed, 4 Mar 2026 18:14:48 +0100 Subject: [PATCH] ci(deploy): treat src/public/package changes as FULL rebuild --- .gitea/workflows/deploy-staging-live.yml | 26 +++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/deploy-staging-live.yml b/.gitea/workflows/deploy-staging-live.yml index f4051c2..7f8a8e8 100644 --- a/.gitea/workflows/deploy-staging-live.yml +++ b/.gitea/workflows/deploy-staging-live.yml @@ -159,16 +159,32 @@ jobs: HAS_FULL=0 HAS_HOTPATCH=0 - # FULL si build-impacting (ce que tu veux : content/anchors/pages/scripts) - if grep -qE '^(src/content/|src/anchors/|src/pages/|scripts/)' /tmp/changed.txt; then - HAS_FULL=1 - fi - # HOTPATCH si annotations/media touchés if grep -qE '^(src/annotations/|public/media/)' /tmp/changed.txt; then HAS_HOTPATCH=1 fi + # FULL si build-impacting (robuste) + # 1) Tout src/ SAUF src/annotations/ + if grep -qE '^src/' /tmp/changed.txt && grep -qEv '^src/annotations/' /tmp/changed.txt; then + HAS_FULL=1 + fi + + # 2) scripts/ + if grep -qE '^scripts/' /tmp/changed.txt; then + HAS_FULL=1 + fi + + # 3) Tout public/ SAUF public/media/ + if grep -qE '^public/' /tmp/changed.txt && grep -qEv '^public/media/' /tmp/changed.txt; then + HAS_FULL=1 + fi + + # 4) fichiers racine qui changent le build / l’image + if grep -qE '^(package\.json|package-lock\.json|astro\.config\.mjs|tsconfig\.json|\.npmrc|\.nvmrc|Dockerfile|docker-compose\.yml|nginx\.conf)$' /tmp/changed.txt; then + HAS_FULL=1 + fi + echo "Gate flags: HAS_FULL=${HAS_FULL} HAS_HOTPATCH=${HAS_HOTPATCH}" # Décision -- 2.49.1