diff --git a/scripts/local/run_agents_for_project.sh b/scripts/local/run_agents_for_project.sh new file mode 100755 index 00000000..5070846f --- /dev/null +++ b/scripts/local/run_agents_for_project.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Script pour lancer les agents de 4NK_template sur un projet externe +# Usage: ./run_agents_for_project.sh [project_path] [output_dir] + +PROJECT_PATH="${1:-.}" +OUTPUT_DIR="${2:-tests/reports/agents}" +TEMPLATE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +MODULE_LAST_IMAGE_FILE="$(cd "$TEMPLATE_DIR/.." && pwd)/modules/4NK_template/.last_image" + +if [[ ! -d "$PROJECT_PATH" ]]; then + echo "Erreur: Le projet '$PROJECT_PATH' n'existe pas" >&2 + exit 1 +fi + +mkdir -p "$PROJECT_PATH/$OUTPUT_DIR" + +echo "=== Lancement des agents 4NK_template sur: $PROJECT_PATH ===" + +if ! command -v docker >/dev/null 2>&1; then + echo "Docker requis pour exécuter les agents via conteneur." >&2 + exit 2 +fi + +# Si une image du module existe, l'utiliser en priorité +if [[ -f "$MODULE_LAST_IMAGE_FILE" ]]; then + IMAGE_NAME="$(cat "$MODULE_LAST_IMAGE_FILE" | tr -d '\r\n')" + echo "Utilisation de l'image du module: $IMAGE_NAME" + # Préparer montage du fichier d'env si présent + ENV_MOUNT="" + if [[ -f "$HOME/.4nk_template/.env" ]]; then + ENV_MOUNT="-v $HOME/.4nk_template/.env:/root/.4nk_template/.env:ro" + fi + # Lancer le conteneur en utilisant l'ENTRYPOINT qui configure safe.directory + docker run --rm \ + -e RUNNER_MODE=agents \ + -e TARGET_DIR=/work \ + -e OUTPUT_DIR=/work/$OUTPUT_DIR \ + -v "$(realpath "$PROJECT_PATH"):/work" \ + $ENV_MOUNT \ + "$IMAGE_NAME" || true +else + echo "Aucune image de module détectée, fallback docker compose dans 4NK_template" + cd "$TEMPLATE_DIR" + docker compose -f docker-compose.ci.yml build + RUNNER_MODE="agents" TARGET_DIR="/work" OUTPUT_DIR="/work/$OUTPUT_DIR" \ + docker compose -f docker-compose.ci.yml run --rm project-ci || true +fi + +echo "=== Agents terminés → $PROJECT_PATH/$OUTPUT_DIR ===" diff --git a/scripts/scripts/auto-ssh-push.sh b/scripts/scripts/auto-ssh-push.sh index a813ec5a..0064500b 100755 --- a/scripts/scripts/auto-ssh-push.sh +++ b/scripts/scripts/auto-ssh-push.sh @@ -92,7 +92,7 @@ push_branch() { # Fonction pour push et merge vers main push_and_merge() { - local source_branch=${1:-$(git branch --show-current)} + local source_branch=${1:-$(get_current_branch)} local target_branch=${2:-main} echo "🔄 Push et merge $source_branch -> $target_branch"