|
1 | | -.PHONY: up down clean-volumes restart build logs help run test setup install-dev clean-env verify |
| 1 | +.PHONY: up down clean-volumes restart build logs help run test setup install-dev clean-env verify experiment experiment-down |
2 | 2 |
|
3 | 3 | # Default target |
4 | 4 | .DEFAULT_GOAL := help |
@@ -77,6 +77,60 @@ up-debug: clean-volumes |
77 | 77 | ## run: Alias for 'up' (accepts config parameter) |
78 | 78 | run: up |
79 | 79 |
|
| 80 | +## experiment: Run an experiment (make experiment name=<experiment_name>) |
| 81 | +experiment: clean-volumes |
| 82 | + @if [ -z "$(name)" ]; then \ |
| 83 | + echo "❌ Error: Please provide experiment name: make experiment name=my_experiment"; \ |
| 84 | + exit 1; \ |
| 85 | + fi |
| 86 | + @if [ ! -f "config/experiments/$(name).yaml" ]; then \ |
| 87 | + echo "❌ Error: Experiment config not found: config/experiments/$(name).yaml"; \ |
| 88 | + echo ""; \ |
| 89 | + echo "Available experiments:"; \ |
| 90 | + ls -1 config/experiments/*.yaml 2>/dev/null | xargs -n 1 basename | sed 's/.yaml//' | sed 's/^/ - /' || echo " (none)"; \ |
| 91 | + exit 1; \ |
| 92 | + fi |
| 93 | + @echo "🧪 Starting experiment: $(name)" |
| 94 | + @echo "📋 Using config: config/experiments/$(name).yaml" |
| 95 | + @mkdir -p output/$(name) |
| 96 | + EXPERIMENT_NAME=$(name) CONFIG_PATH=./config/experiments/$(name).yaml docker compose up -d |
| 97 | + @echo "✅ Experiment started!" |
| 98 | + @echo "" |
| 99 | + @echo "Experiment: $(name)" |
| 100 | + @echo "Output: output/$(name)/" |
| 101 | + @echo "" |
| 102 | + @echo "View logs: make logs-sim-worker" |
| 103 | + |
| 104 | +## experiment-debug: Run an experiment with debug mode enabled (make experiment-debug name=<experiment_name>) |
| 105 | +experiment-debug: clean-volumes |
| 106 | + @if [ -z "$(name)" ]; then \ |
| 107 | + echo "❌ Error: Please provide experiment name: make experiment-debug name=my_experiment"; \ |
| 108 | + exit 1; \ |
| 109 | + fi |
| 110 | + @if [ ! -f "config/experiments/$(name).yaml" ]; then \ |
| 111 | + echo "❌ Error: Experiment config not found: config/experiments/$(name).yaml"; \ |
| 112 | + echo ""; \ |
| 113 | + echo "Available experiments:"; \ |
| 114 | + ls -1 config/experiments/*.yaml 2>/dev/null | xargs -n 1 basename | sed 's/.yaml//' | sed 's/^/ - /' || echo " (none)"; \ |
| 115 | + exit 1; \ |
| 116 | + fi |
| 117 | + @echo "🧪🐛 Starting experiment with DEBUG mode: $(name)" |
| 118 | + @echo "📋 Using config: config/experiments/$(name).yaml" |
| 119 | + @mkdir -p output/$(name) |
| 120 | + EXPERIMENT_NAME=$(name) DEBUG_MODE=true CONFIG_PATH=./config/experiments/$(name).yaml docker compose up -d |
| 121 | + @echo "✅ Experiment started in debug mode!" |
| 122 | + @echo "" |
| 123 | + @echo "Experiment: $(name)" |
| 124 | + @echo "Output: output/$(name)/" |
| 125 | + @echo "Debug files: output/$(name)/run_*/" |
| 126 | + @echo "" |
| 127 | + @echo "View logs: make logs-sim-worker" |
| 128 | + |
| 129 | +## experiment-down: Stop experiment services |
| 130 | +experiment-down: |
| 131 | + docker compose down |
| 132 | + @echo "✅ Experiment stopped" |
| 133 | + |
80 | 134 | ## down: Stop all containers |
81 | 135 | down: |
82 | 136 | @echo "⏹️ Stopping OpenDT services..." |
|
0 commit comments