-
Notifications
You must be signed in to change notification settings - Fork 0
Testing setup script
Sandeep Singh edited this page Aug 27, 2025
·
1 revision
#!/bin/bash
set -e
BASE_DIR="/Users/geekboy/Github"
LOG_FILE="$BASE_DIR/dev-setup.log"
ENV_FILE="$BASE_DIR/.env.local"
touch "$LOG_FILE"
# Helper to prompt for env vars if not already set
get_env() {
local varname="$1"
local prompt="$2"
if [ -z "${!varname}" ]; then
read -rp "Enter value for $varname ($prompt): " value
export $varname="$value"
echo "export $varname=\"$value\"" >> "$ENV_FILE"
fi
}
# Load previous env vars if any
if [ -f "$ENV_FILE" ]; then
set -o allexport
source "$ENV_FILE"
set +o allexport
fi
get_env "GITHUB_TOKEN" "GitHub personal access token"
get_env "PDCP_DEV_API_KEY" "PDCP Dev API Key"
cd "$BASE_DIR"
# 1. Aurora
if [ ! -d aurora ]; then
git clone https://github.com/projectdiscovery/aurora.git | tee -a "$LOG_FILE"
fi
cd aurora
git fetch origin | tee -a "$LOG_FILE"
gh pr checkout 2544 | tee -a "$LOG_FILE"
git pull | tee -a "$LOG_FILE"
cd cmd/dev
echo "[AURORA] Running dev..." | tee -a "$LOG_FILE"
GITHUB_TOKEN="$GITHUB_TOKEN" go run . -test-type scan -skip-run 2>&1 | tee -a "$LOG_FILE"
cd "$BASE_DIR"
# 2. Scan-Scheduler
if [ ! -d scan-scheduler ]; then
git clone https://github.com/projectdiscovery/scan-scheduler.git | tee -a "$LOG_FILE"
fi
cd scan-scheduler
git fetch origin | tee -a "$LOG_FILE"
gh pr checkout 86 | tee -a "$LOG_FILE"
git pull | tee -a "$LOG_FILE"
cd cmd/dev
echo "[SCAN-SCHEDULER] Running dev..." | tee -a "$LOG_FILE"
GITHUB_TOKEN="$GITHUB_TOKEN" go run . 2>&1 | tee -a "$LOG_FILE"
cd "$BASE_DIR"
# 3. Platform Backend
if [ ! -d platform-backend ]; then
git clone https://github.com/projectdiscovery/platform-backend.git | tee -a "$LOG_FILE"
fi
cd platform-backend
git fetch origin | tee -a "$LOG_FILE"
gh pr checkout 1051 | tee -a "$LOG_FILE"
git pull | tee -a "$LOG_FILE"
cd cmd/dev
echo "[PLATFORM BACKEND] Running dev..." | tee -a "$LOG_FILE"
GITHUB_TOKEN="$GITHUB_TOKEN" go run . 2>&1 | tee -a "$LOG_FILE"
cd "$BASE_DIR"
# 4. PDTM-AGENT
if [ ! -d pdtm-agent ]; then
git clone https://github.com/projectdiscovery/pdtm-agent.git | tee -a "$LOG_FILE"
fi
cd pdtm-agent
git fetch origin | tee -a "$LOG_FILE"
gh pr checkout 1 | tee -a "$LOG_FILE"
git pull | tee -a "$LOG_FILE"
cd cmd/pdtm-agent
echo "[PDTM-AGENT] Running agent..." | tee -a "$LOG_FILE"
PDCP_API_KEY="$PDCP_DEV_API_KEY" PDCP_API_SERVER="http://localhost:8088" PUNCH_HOLE_HOST="127.0.0.1" PUNCH_HOLE_HTTP_PORT="8880" \
go run . -agent -agent-output test -verbose -agent-tags test-group 2>&1 | tee -a "$LOG_FILE"
cd "$BASE_DIR"
echo "All dev services have completed. See $LOG_FILE for logs."