#!/usr/bin/env php
<?php

echo "--- Amicron Entity Bundle Stability Check ---\n\n";

$checks = [
    'Metadata Check' => 'bin/check-metadata all' . (getenv('AMICRON_DBMETADATA') ? ' --metadata ' . escapeshellarg(getenv('AMICRON_DBMETADATA')) : ''),
    'Schema Validate' => 'KERNEL_CLASS="Satag\AmicronEntityBundle\Tests\SatagAmicronEntityTestingKernel" bin/console doctrine:schema:validate --skip-sync 2>&1 || echo "[SKIP] schema:validate requires running DB"',
    'PHPUnit Tests' => 'bin/phpunit -n',
    'PHPStan Analysis' => 'vendor-bin/phpstan/vendor/bin/phpstan analyse --memory-limit 512M',
    'ECS Style Check' => 'vendor-bin/ecs/vendor/bin/ecs check',
];

$failed = false;

foreach ($checks as $name => $cmd) {
    echo "Running $name: $cmd\n";
    passthru($cmd, $resultCode);
    if ($resultCode !== 0) {
        echo "\n[ERROR] $name failed!\n\n";
        $failed = true;
    } else {
        echo "[OK] $name passed.\n\n";
    }
}

if ($failed) {
    echo "--- Stability Check FAILED ---\n";
    exit(1);
}

echo "--- All Stability Checks PASSED ---\n";
exit(0);
