diff --git a/.gitea/workflows/lint.yml b/.gitea/workflows/lint.yml index bef5d7f..5a71602 100644 --- a/.gitea/workflows/lint.yml +++ b/.gitea/workflows/lint.yml @@ -106,30 +106,39 @@ jobs: -F "attachment=@get-started/csi_recv_router/build/csi_recv_router.bin" \ "$API_URL/repos/$REPO/releases/$RELEASE_ID/assets?name=csi_recv_router.bin" - # Store release URL for OTA - FIRMWARE_URL="https://git.mymx.me/$REPO/releases/download/$TAG/csi_recv_router.bin" - echo "Firmware URL: $FIRMWARE_URL" - echo "$FIRMWARE_URL" > /tmp/firmware_url.txt - - name: Deploy via OTA run: | - FIRMWARE_URL=$(cat /tmp/firmware_url.txt) - echo "Using firmware URL: $FIRMWARE_URL" + SENSORS="muddy-storm:192.168.129.29 amber-maple:192.168.129.30 hollow-acorn:192.168.129.31" + FIRMWARE_PATH="get-started/csi_recv_router/build/csi_recv_router.bin" + OTA_PORT=8899 - # Deploy to muddy-storm - echo "=== Deploying to muddy-storm (192.168.129.29) ===" - echo "OTA $FIRMWARE_URL" | nc -u -w 2 192.168.129.29 5501 || true - sleep 30 + # Get runner IP (first non-loopback interface) + RUNNER_IP=$(hostname -I | awk '{print $1}') + echo "Runner IP: $RUNNER_IP" - # Deploy to amber-maple - echo "=== Deploying to amber-maple (192.168.129.30) ===" - echo "OTA $FIRMWARE_URL" | nc -u -w 2 192.168.129.30 5501 || true - sleep 30 + # Start HTTP server to serve firmware + cd get-started/csi_recv_router/build + python3 -m http.server $OTA_PORT & + HTTP_PID=$! + sleep 2 - # Deploy to hollow-acorn - echo "=== Deploying to hollow-acorn (192.168.129.31) ===" - echo "OTA $FIRMWARE_URL" | nc -u -w 2 192.168.129.31 5501 || true - sleep 30 + FIRMWARE_URL="http://${RUNNER_IP}:${OTA_PORT}/csi_recv_router.bin" + echo "Firmware URL: $FIRMWARE_URL" + + # Verify server is running + curl -sI "http://localhost:${OTA_PORT}/csi_recv_router.bin" | head -1 + + # Deploy to each sensor + for entry in $SENSORS; do + NAME="${entry%%:*}" + IP="${entry##*:}" + echo "=== Deploying to $NAME ($IP) ===" + echo "OTA $FIRMWARE_URL" | nc -u -w 2 "$IP" 5501 || true + sleep 45 + done + + # Stop HTTP server + kill $HTTP_PID 2>/dev/null || true echo "=== Deployment complete ==="