feat(local): run_agents_for_project + ajustements pour image module
This commit is contained in:
parent
21e4f76445
commit
25453b045e
@ -7,29 +7,44 @@ set -euo pipefail
|
||||
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 ==="
|
||||
|
||||
# Exécuter les agents via le conteneur CI de 4NK_template
|
||||
cd "$TEMPLATE_DIR"
|
||||
|
||||
if command -v docker >/dev/null 2>&1; then
|
||||
# Construire l'image si nécessaire
|
||||
docker compose -f docker-compose.ci.yml build --no-cache
|
||||
|
||||
# Lancer les agents sur le projet externe
|
||||
docker compose -f docker-compose.ci.yml run --rm \
|
||||
-v "$(realpath "$PROJECT_PATH"):/work" \
|
||||
-v "$(realpath "$PROJECT_PATH/$OUTPUT_DIR"):/work/$OUTPUT_DIR" \
|
||||
project-ci bash -c "cd /work && scripts/agents/run.sh /work /work/$OUTPUT_DIR all"
|
||||
else
|
||||
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 forçant l'entrypoint bash pour appeler run.sh
|
||||
docker run --rm \
|
||||
-v "$(realpath "$PROJECT_PATH"):/work" \
|
||||
$ENV_MOUNT \
|
||||
--entrypoint bash \
|
||||
"$IMAGE_NAME" -lc "cd /work && scripts/agents/run.sh /work /work/$OUTPUT_DIR all" \
|
||||
|| 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 ==="
|
||||
|
Loading…
x
Reference in New Issue
Block a user