scripts: remove hardcoded paths, clean up run.sh kill logic
Browse files- All scripts use \${HOME}/miniforge3/bin/python3 instead of /Users/uplab/...
- test.sh uses relative path to puppeteer dir (../../puppeteer)
- check_sdk.sh uses importlib.metadata instead of hardcoded pip path
- run.sh: kill only the previously saved port (from numzoo.port) instead
of scanning + force-killing all 7860-7865 ports
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- scripts/check_imports.sh +2 -1
- scripts/check_sdk.sh +5 -4
- scripts/dev.sh +1 -1
- scripts/run.sh +24 -16
- scripts/syntax.sh +2 -1
- scripts/test.sh +8 -5
scripts/check_imports.sh
CHANGED
|
@@ -1,5 +1,6 @@
|
|
| 1 |
#!/bin/bash
|
|
|
|
| 2 |
cd "$(dirname "$0")/.."
|
| 3 |
echo "Checking imports..."
|
| 4 |
-
|
| 5 |
if [ $? -eq 0 ]; then echo "β
imports OK"; else echo "β import failed"; exit 1; fi
|
|
|
|
| 1 |
#!/bin/bash
|
| 2 |
+
PYTHON="${HOME}/miniforge3/bin/python3"
|
| 3 |
cd "$(dirname "$0")/.."
|
| 4 |
echo "Checking imports..."
|
| 5 |
+
$PYTHON -c "import app" 2>&1
|
| 6 |
if [ $? -eq 0 ]; then echo "β
imports OK"; else echo "β import failed"; exit 1; fi
|
scripts/check_sdk.sh
CHANGED
|
@@ -1,12 +1,13 @@
|
|
| 1 |
#!/bin/bash
|
|
|
|
| 2 |
cd "$(dirname "$0")/.."
|
| 3 |
-
|
| 4 |
import re, subprocess, sys
|
| 5 |
sdk = re.search(r'sdk_version: "(.+?)"', open('README.md').read()).group(1)
|
| 6 |
-
|
| 7 |
-
ver =
|
| 8 |
if sdk != ver:
|
| 9 |
print(f'β MISMATCH: README sdk_version={sdk} but local gradio={ver}')
|
| 10 |
sys.exit(1)
|
| 11 |
print(f'β
sdk_version {sdk} matches local gradio')
|
| 12 |
-
|
|
|
|
| 1 |
#!/bin/bash
|
| 2 |
+
PYTHON="${HOME}/miniforge3/bin/python3"
|
| 3 |
cd "$(dirname "$0")/.."
|
| 4 |
+
$PYTHON - <<'PYEOF'
|
| 5 |
import re, subprocess, sys
|
| 6 |
sdk = re.search(r'sdk_version: "(.+?)"', open('README.md').read()).group(1)
|
| 7 |
+
import importlib.metadata
|
| 8 |
+
ver = importlib.metadata.version('gradio')
|
| 9 |
if sdk != ver:
|
| 10 |
print(f'β MISMATCH: README sdk_version={sdk} but local gradio={ver}')
|
| 11 |
sys.exit(1)
|
| 12 |
print(f'β
sdk_version {sdk} matches local gradio')
|
| 13 |
+
PYEOF
|
scripts/dev.sh
CHANGED
|
@@ -6,4 +6,4 @@ echo "=== 2/4 Imports ===" && bash "$DIR/check_imports.sh"
|
|
| 6 |
echo "=== 3/4 SDK ===" && bash "$DIR/check_sdk.sh"
|
| 7 |
echo "=== 4/4 Run ===" && bash "$DIR/run.sh"
|
| 8 |
echo ""
|
| 9 |
-
echo "App is running.
|
|
|
|
| 6 |
echo "=== 3/4 SDK ===" && bash "$DIR/check_sdk.sh"
|
| 7 |
echo "=== 4/4 Run ===" && bash "$DIR/run.sh"
|
| 8 |
echo ""
|
| 9 |
+
echo "App is running. Run: bash scripts/test.sh"
|
scripts/run.sh
CHANGED
|
@@ -1,23 +1,31 @@
|
|
| 1 |
#!/bin/bash
|
|
|
|
|
|
|
| 2 |
cd "$(dirname "$0")/.."
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
|
|
|
|
|
|
|
|
|
| 14 |
echo "Starting app..."
|
| 15 |
sleep 10
|
| 16 |
-
|
|
|
|
|
|
|
| 17 |
if [ -z "$PORT" ]; then
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
fi
|
|
|
|
|
|
|
| 22 |
echo "β
App running on http://localhost:$PORT"
|
| 23 |
-
echo $PORT > /tmp/numzoo.port
|
|
|
|
| 1 |
#!/bin/bash
|
| 2 |
+
PYTHON="${HOME}/miniforge3/bin/python3"
|
| 3 |
+
PORT_FILE="/tmp/numzoo.port"
|
| 4 |
cd "$(dirname "$0")/.."
|
| 5 |
+
|
| 6 |
+
# Kill the previously running instance using the saved port
|
| 7 |
+
if [ -f "$PORT_FILE" ]; then
|
| 8 |
+
OLD_PORT=$(cat "$PORT_FILE")
|
| 9 |
+
OLD_PID=$(lsof -ti :$OLD_PORT 2>/dev/null)
|
| 10 |
+
if [ -n "$OLD_PID" ]; then
|
| 11 |
+
echo "Killing previous instance on port $OLD_PORT (pid $OLD_PID)..."
|
| 12 |
+
kill -9 $OLD_PID 2>/dev/null
|
| 13 |
+
sleep 1
|
| 14 |
+
fi
|
| 15 |
+
rm -f "$PORT_FILE"
|
| 16 |
+
fi
|
| 17 |
+
|
| 18 |
+
$PYTHON app.py > /tmp/numzoo.log 2>&1 &
|
| 19 |
echo "Starting app..."
|
| 20 |
sleep 10
|
| 21 |
+
|
| 22 |
+
PORT=$(lsof -i :7860 -i :7861 -i :7862 -i :7863 -i :7864 -i :7865 2>/dev/null \
|
| 23 |
+
| grep LISTEN | tail -1 | grep -oE '786[0-9]')
|
| 24 |
if [ -z "$PORT" ]; then
|
| 25 |
+
echo "β App failed to start. Logs:"
|
| 26 |
+
cat /tmp/numzoo.log
|
| 27 |
+
exit 1
|
| 28 |
fi
|
| 29 |
+
|
| 30 |
+
echo $PORT > "$PORT_FILE"
|
| 31 |
echo "β
App running on http://localhost:$PORT"
|
|
|
scripts/syntax.sh
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
#!/bin/bash
|
|
|
|
| 2 |
cd "$(dirname "$0")/.."
|
| 3 |
-
|
| 4 |
import ast, sys
|
| 5 |
for f in ['app.py','image_generator.py','math_engine.py']:
|
| 6 |
try:
|
|
|
|
| 1 |
#!/bin/bash
|
| 2 |
+
PYTHON="${HOME}/miniforge3/bin/python3"
|
| 3 |
cd "$(dirname "$0")/.."
|
| 4 |
+
$PYTHON -c "
|
| 5 |
import ast, sys
|
| 6 |
for f in ['app.py','image_generator.py','math_engine.py']:
|
| 7 |
try:
|
scripts/test.sh
CHANGED
|
@@ -1,6 +1,9 @@
|
|
| 1 |
#!/bin/bash
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
#!/bin/bash
|
| 2 |
+
PORT_FILE="/tmp/numzoo.port"
|
| 3 |
+
PUPPETEER_DIR="$(dirname "$0")/../../puppeteer"
|
| 4 |
+
TEST_SCRIPT="$PUPPETEER_DIR/test_lovemath.mjs"
|
| 5 |
+
|
| 6 |
+
PORT=$(cat "$PORT_FILE" 2>/dev/null || echo "7860")
|
| 7 |
+
sed -i '' "s|http://localhost:[0-9]*/|http://localhost:$PORT/|g" "$TEST_SCRIPT"
|
| 8 |
+
|
| 9 |
+
arch -arm64 /bin/zsh -c "source ~/.nvm/nvm.sh && nvm use 20 && cd '$PUPPETEER_DIR' && node test_lovemath.mjs"
|