#!/usr/bin/env bash set -euo pipefail RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[0;33m' NC='\033[0m' SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" TARGET="${1:-.}" TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ") RESULTS_FILE="$SCRIPT_DIR/results.json" SUMMARY_FILE="$SCRIPT_DIR/SUMMARY.md" checks=("secrets" "lint" "sast" "deps" "tests") declare -A results failed=0 skipped=0 passed=0 echo "╔══════════════════════════════════════╗" echo "║ Zero-Check Validation Pipeline ║" echo "╚══════════════════════════════════════╝" echo "" echo "Target: $TARGET" echo "Time: $TIMESTAMP" echo "" for check in "${checks[@]}"; do script="$SCRIPT_DIR/${check}.sh" if [ ! -x "$script" ]; then printf "${RED}✗${NC} %s — script not found or not executable\n" "$check" results[$check]="error" failed=$((failed + 1)) continue fi if "$script" "$TARGET"; then results[$check]="passed" passed=$((passed + 1)) else exit_code=$? if [ "$exit_code" -eq 2 ]; then results[$check]="skipped" skipped=$((skipped + 1)) else results[$check]="failed" failed=$((failed + 1)) fi fi echo "" done echo "════════════════════════════════════════" if [ "$failed" -gt 0 ]; then printf "${RED}RESULT: %d passed, %d failed, %d skipped${NC}\n" "$passed" "$failed" "$skipped" overall="failed" else printf "${GREEN}RESULT: %d passed, %d failed, %d skipped${NC}\n" "$passed" "$failed" "$skipped" overall="passed" fi cat > "$RESULTS_FILE" < "$SUMMARY_FILE" <