zero-check-pipeline/check-deps.sh

47 lines
794 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m'
missing=0
check() {
if command -v "$1" &>/dev/null; then
printf "${GREEN}${NC} %s found: %s\n" "$1" "$(command -v "$1")"
else
printf "${RED}${NC} %s not found\n" "$1"
missing=$((missing + 1))
fi
}
echo "=== Zero-Check Pipeline: Dependency Check ==="
echo ""
echo "-- Core --"
check git
check docker
check uv
echo ""
echo "-- Python toolchain --"
check ruff
check semgrep
check gitleaks
check pip-audit
check pytest
echo ""
echo "-- Go toolchain --"
check go
check golangci-lint
check govulncheck
echo ""
if [ "$missing" -gt 0 ]; then
echo "Missing $missing tool(s). Install before running the gauntlet."
exit 1
else
echo "All tools found. Ready to validate."
exit 0
fi