Files
foxhunt/scripts/verify_dockerfile_updates.sh
jgrusewski 8d89fe80ff chore: Second cleanup wave - organize root directory
- Archive: 85 agent .txt files → docs/archive/agents/legacy_txt/
- Scripts: Move 110 shell scripts → scripts/ (keep deploy.sh in root)
- Models: Move 18 .safetensors → ml/models/checkpoints/training_artifacts/
- Delete: 34 directories (~33GB freed) - target/, coverage_*, test artifacts
- Build: Clean 14 build artifacts (.rlib, .o, .pid, binaries)
- Tests: Move 14 .rs files → tests/standalone/
- SQL: Move 5 files → sql/ (keep init-db*.sql for Docker)
- Wave 153: Archive to docs/archive/historical/wave153/
- Docs: Archive 9 markdown files to wave_d/reports/ and historical/

Total impact: ~34GB freed (both waves), root directory cleaned from 583 to ~40 essential files
Directory count reduced from 65 to 31 (52% reduction)
All historical data preserved in organized archive structure
2025-10-30 01:26:02 +01:00

125 lines
4.1 KiB
Bash
Executable File

#!/bin/bash
# Dockerfile.runpod Update Verification Script
# Date: 2025-10-23
echo "=========================================="
echo "Dockerfile.runpod Update Verification"
echo "=========================================="
echo ""
# 1. Check for AWS references
echo "1. Checking for AWS/S3 references..."
if ! grep -iq "aws\|s3\|amazon" Dockerfile.runpod 2>/dev/null; then
echo " ✅ PASS: Zero AWS/S3/Amazon references found"
else
echo " ❌ FAIL: Found AWS/S3/Amazon references"
exit 1
fi
echo ""
# 2. Check for Tesla V100 reference
echo "2. Checking for Tesla V100 reference..."
if grep -q "Tesla V100" Dockerfile.runpod 2>/dev/null; then
V100_COUNT=$(grep -c "Tesla V100" Dockerfile.runpod)
echo " ✅ PASS: Tesla V100 documented ($V100_COUNT references)"
else
echo " ❌ FAIL: Tesla V100 not found in Dockerfile"
exit 1
fi
echo ""
# 3. Check for private Docker Hub registry
echo "3. Checking for private Docker Hub registry (jgrusewski/foxhunt)..."
REGISTRY_COUNT=$(grep -c "jgrusewski/foxhunt" Dockerfile.runpod 2>/dev/null)
if [ "$REGISTRY_COUNT" -gt 5 ]; then
echo " ✅ PASS: Private registry documented ($REGISTRY_COUNT references)"
else
echo " ❌ FAIL: Private registry not consistently used (found $REGISTRY_COUNT, need >5)"
exit 1
fi
echo ""
# 4. Check for embedded test data
echo "4. Checking for embedded test data..."
if grep -q "COPY test_data/\*.parquet /workspace/test_data/" Dockerfile.runpod; then
echo " ✅ PASS: Test data COPY instruction found"
else
echo " ❌ FAIL: Test data COPY instruction missing"
exit 1
fi
echo ""
# 5. Verify test data files exist
echo "5. Verifying test data files exist..."
TEST_DATA_COUNT=$(ls test_data/*.parquet 2>/dev/null | wc -l)
if [ "$TEST_DATA_COUNT" -eq 9 ]; then
echo " ✅ PASS: All 9 Parquet files present"
ls -1 test_data/*.parquet | sed 's/^/ - /'
else
echo " ❌ FAIL: Expected 9 Parquet files, found $TEST_DATA_COUNT"
exit 1
fi
echo ""
# 6. Check test data size
echo "6. Checking test data size..."
TEST_DATA_SIZE=$(du -sm test_data 2>/dev/null | awk '{print $1}')
if [ "$TEST_DATA_SIZE" -lt 20 ]; then
echo " ✅ PASS: Test data size is ${TEST_DATA_SIZE}MB (optimal)"
else
echo " ⚠️ WARNING: Test data size is ${TEST_DATA_SIZE}MB (larger than expected)"
fi
echo ""
# 7. Check VOLUME directive
echo "7. Checking VOLUME directive (test_data should NOT be present)..."
if grep 'VOLUME' Dockerfile.runpod | grep -q 'test_data'; then
echo " ❌ FAIL: test_data still in VOLUME directive (should be removed)"
exit 1
else
echo " ✅ PASS: test_data removed from VOLUME directive"
fi
echo ""
# 8. Verify entry point
echo "8. Verifying default entry point..."
if grep -q 'ENTRYPOINT.*train_tft_parquet' Dockerfile.runpod; then
echo " ✅ PASS: Default entry point set to train_tft_parquet"
else
echo " ❌ FAIL: Entry point not configured correctly"
exit 1
fi
echo ""
# 9. Check for private registry instructions
echo "9. Checking for private registry instructions..."
if grep -q "PRIVATE" Dockerfile.runpod; then
PRIVATE_COUNT=$(grep -c "PRIVATE" Dockerfile.runpod)
echo " ✅ PASS: Private registry instructions documented ($PRIVATE_COUNT mentions)"
else
echo " ❌ FAIL: Private registry instructions missing"
exit 1
fi
echo ""
# 10. Final summary
echo "=========================================="
echo "✅ ALL CHECKS PASSED"
echo "=========================================="
echo ""
echo "Summary:"
echo " - Zero AWS/S3 references"
echo " - Tesla V100 documented as minimum GPU"
echo " - Docker Hub registry: jgrusewski/foxhunt (PRIVATE)"
echo " - 9 Parquet files embedded (~${TEST_DATA_SIZE}MB total)"
echo " - VOLUME directive updated (test_data removed)"
echo " - Entry point configured for TFT training"
echo ""
echo "Next Steps:"
echo " 1. Build image: docker build -f Dockerfile.runpod -t jgrusewski/foxhunt:latest ."
echo " 2. Test locally: docker run --gpus all jgrusewski/foxhunt:latest"
echo " 3. Push to Docker Hub: docker push jgrusewski/foxhunt:latest"
echo " 4. Set repository to PRIVATE in Docker Hub"
echo " 5. Deploy on Runpod with Tesla V100"
echo ""