name: Sécurité - Architecture Git-Flow on: pull_request: branches: - dev - test - acc - master jobs: validate-flow: runs-on: ubuntu-latest steps: - name: Vérification du flux de promotion run: | TARGET_BRANCH="${{ github.base_ref }}" SOURCE_BRANCH="${{ github.head_ref }}" echo "Tentative de promotion : $SOURCE_BRANCH ➔ $TARGET_BRANCH" # Règle 1 : Vers TEST (Doit venir de DEV) if [ "$TARGET_BRANCH" == "test" ] && [ "$SOURCE_BRANCH" != "dev" ]; then echo "ERREUR : L'environnement TEST ne peut recevoir que du code de DEV." exit 1 fi # Règle 2 : Vers ACC (Doit venir de TEST) if [ "$TARGET_BRANCH" == "acc" ] && [ "$SOURCE_BRANCH" != "test" ]; then echo "ERREUR : L'environnement d'ACCEPTATION ne peut recevoir que du code de TEST." exit 1 fi # Règle 3 : Vers PROD (Doit venir de ACC) if [ "$TARGET_BRANCH" == "master" ] && [ "$SOURCE_BRANCH" != "acc" ]; then echo "ERREUR : La PRODUCTION ne peut recevoir que du code validé en ACCEPTATION (acc)." exit 1 fi echo "Flux réglementaire respecté ! Promotion autorisée." name: Sécurité - Architecture Git-Flow on: pull_request: branches: - dev - test - acc - master jobs: validate-flow: runs-on: ubuntu-latest steps: - name: Vérification du flux de promotion run: | TARGET_BRANCH="${{ github.base_ref }}" SOURCE_BRANCH="${{ github.head_ref }}" echo "Tentative de promotion : $SOURCE_BRANCH ➔ $TARGET_BRANCH" # Règle 1 : Vers TEST (Doit venir de DEV) if [ "$TARGET_BRANCH" == "test" ] && [ "$SOURCE_BRANCH" != "dev" ]; then echo "ERREUR : L'environnement TEST ne peut recevoir que du code de DEV." exit 1 fi # Règle 2 : Vers ACC (Doit venir de TEST) if [ "$TARGET_BRANCH" == "acc" ] && [ "$SOURCE_BRANCH" != "test" ]; then echo "ERREUR : L'environnement d'ACCEPTATION ne peut recevoir que du code de TEST." exit 1 fi # Règle 3 : Vers PROD (Doit venir de ACC) if [ "$TARGET_BRANCH" == "master" ] && [ "$SOURCE_BRANCH" != "acc" ]; then echo "ERREUR : La PRODUCTION ne peut recevoir que du code validé en ACCEPTATION (acc)." exit 1 fi echo "Flux réglementaire respecté ! Promotion autorisée."