39 lines
1.3 KiB
YAML
39 lines
1.3 KiB
YAML
name: Sécurité - Architecture Git-Flow
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- 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." |