|
1 | 1 | #!/bin/bash |
2 | 2 | # Cron script to run full test suite - only logs failures |
3 | | -# Usage: ./scripts/run-tests-cron.sh |
4 | | -# Cron: 0 * * * * /home/whoabuddy/dev/aibtcdev/x402-api/scripts/run-tests-cron.sh |
| 3 | +# Usage: ./scripts/run-tests-cron.sh [--network=testnet|mainnet] |
| 4 | +# Cron: 0 4,12,20 * * * /path/to/run-tests-cron.sh |
| 5 | +# 0 10 * * * /path/to/run-tests-cron.sh --network=mainnet |
5 | 6 |
|
6 | 7 | # Set up PATH for cron environment (bun, node, npm, etc.) |
7 | 8 | NODE_VERSIONS_DIR="$HOME/.nvm/versions/node" |
@@ -37,16 +38,28 @@ if [ -f .dev.vars ]; then |
37 | 38 | set +a |
38 | 39 | fi |
39 | 40 |
|
40 | | -# Configuration - override these in .env if needed |
41 | | -# X402_NETWORK defaults to testnet for safety |
| 41 | +# Parse command-line arguments (override .env values) |
| 42 | +CLI_NETWORK="" |
| 43 | +for arg in "$@"; do |
| 44 | + case "$arg" in |
| 45 | + --network=*) CLI_NETWORK="${arg#*=}" ;; |
| 46 | + esac |
| 47 | +done |
| 48 | + |
| 49 | +# Network priority: CLI arg > .env > default (testnet) |
| 50 | +if [ -n "$CLI_NETWORK" ]; then |
| 51 | + export X402_NETWORK="$CLI_NETWORK" |
| 52 | +else |
| 53 | + export X402_NETWORK="${X402_NETWORK:-testnet}" |
| 54 | +fi |
| 55 | + |
42 | 56 | # URL is derived from network automatically: |
43 | 57 | # testnet → https://x402.aibtc.dev (staging) |
44 | 58 | # mainnet → https://x402.aibtc.com (production) |
45 | 59 | # Override with X402_WORKER_URL if needed (e.g., for localhost testing) |
46 | | -export X402_NETWORK="${X402_NETWORK:-testnet}" |
47 | 60 |
|
48 | | -# Log directory |
49 | | -LOG_DIR="logs/test-runs" |
| 61 | +# Log directory (separate subdirs per network) |
| 62 | +LOG_DIR="logs/test-runs/${X402_NETWORK}" |
50 | 63 | TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S") |
51 | 64 | LOG_FILE="${LOG_DIR}/test-${TIMESTAMP}.log" |
52 | 65 |
|
|
0 commit comments