47 lines
794 B
Bash
Executable File
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 |