<?php

declare(strict_types=1);

$php = PHP_BINARY ?: 'php';
$root = dirname(__DIR__);
$commands = [
    ['label' => 'Pré-flight', 'cmd' => escapeshellarg($php) . ' ' . escapeshellarg(__DIR__ . '/preflight.php') . ' --http'],
    ['label' => 'Seed de homologação', 'cmd' => escapeshellarg($php) . ' ' . escapeshellarg(__DIR__ . '/seed_homologation.php') . ' --force'],
    ['label' => 'Smoke test HTTP', 'cmd' => escapeshellarg($php) . ' ' . escapeshellarg(__DIR__ . '/run_smoke.php')],
];

$failures = 0;
echo "\n=== Rotina completa de homologação ===\n";
echo "Projeto: {$root}\n\n";

foreach ($commands as $step) {
    echo "--- {$step['label']} ---\n";
    passthru($step['cmd'], $code);
    if ($code !== 0) {
        $failures++;
        echo "Resultado: FALHA em {$step['label']}\n\n";
    } else {
        echo "Resultado: OK em {$step['label']}\n\n";
    }
}

echo $failures > 0
    ? "Rotina finalizada com {$failures} etapa(s) falhando.\n"
    : "Rotina finalizada sem falhas.\n";

exit($failures > 0 ? 1 : 0);
