diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index 8d1ec74..5763529 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -16,7 +16,7 @@ on: push: tags: # Pré-filtre glob (validation stricte faite dans le job) - - '[1-9]*.[1-9]*.[1-9]*' + - '[0-9]*.[0-9]*.[0-9]*' jobs: build-and-push: @@ -53,10 +53,10 @@ jobs: run: | TAG="${{ github.ref_name }}" - # ── Format strict : A.B.C avec A, B, C entiers > 0 ────────── - if ! echo "$TAG" | grep -qE '^[1-9][0-9]*\.[1-9][0-9]*\.[1-9][0-9]*$'; then + # ── Format : A.B.C avec A, B, C entiers >= 0, sans zéro initial ── + if ! echo "$TAG" | grep -qE '^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$'; then echo "❌ Format invalide : '$TAG'" - echo " Attendu : A.B.C avec A, B, C entiers > 0 (ex: 1.2.3)" + echo " Attendu : A.B.C avec A, B, C entiers >= 0 (ex: 1.0.1)" exit 1 fi @@ -68,7 +68,7 @@ jobs: PREV_TAG="" while IFS= read -r t; do [ "$t" = "$TAG" ] && continue - if echo "$t" | grep -qE '^[1-9][0-9]*\.[1-9][0-9]*\.[1-9][0-9]*$'; then + if echo "$t" | grep -qE '^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$'; then PREV_TAG="$t" fi done < <(git tag -l | sort -t. -k1,1n -k2,2n -k3,3n) @@ -92,11 +92,11 @@ jobs: echo " A > PA" echo " OU ( A = PA ET B > PB )" echo " OU ( A = PA ET B = PB ET C > PC )" - echo " Tag précédent : $PREV_TAG — Tag proposé : $TAG" + echo " Tag précédent : $PREV_TAG / Tag proposé : $TAG" exit 1 fi else - echo "ℹ️ Aucun tag valide précédent — première version, pas de vérification de progression." + echo "ℹ️ Aucun tag valide précédent. Première version, pas de vérification de progression." fi echo "✅ Tag '$TAG' validé."