#!/usr/bin/env bash set -euo pipefail TARGET_BRANCH="${1:-main}" SOURCE_BRANCH="${2:-}" if [[ -z "$SOURCE_BRANCH" ]]; then SOURCE_BRANCH="$(git rev-parse --abbrev-ref HEAD)" fi if [[ "$SOURCE_BRANCH" == "$TARGET_BRANCH" ]]; then echo "Déjà sur $TARGET_BRANCH"; exit 0 fi # Valider localement avant merge AUTO_FIX="${AUTO_FIX:-1}" SCOPE="${SCOPE:-all}" scripts/agents/run.sh || true if [ -f scripts/security/audit.sh ]; then bash scripts/security/audit.sh || true; fi git fetch origin --prune git checkout "$TARGET_BRANCH" git pull --ff-only origin "$TARGET_BRANCH" || true git merge --no-ff "$SOURCE_BRANCH" -m "[skip ci] merge: $SOURCE_BRANCH -> $TARGET_BRANCH" git push origin "$TARGET_BRANCH" echo "Merge effectué: $SOURCE_BRANCH → $TARGET_BRANCH"