ncolex's picture
Deploy BrowserPilot with NumPy fix (2.2.6)
c1f04cf verified
name: Keep HF Space Awake
on:
schedule:
# Runs every 13 minutes
- cron: '*/13 * * * *'
workflow_dispatch: # Allow manual trigger
jobs:
keepalive:
runs-on: ubuntu-latest
steps:
- name: Ping Hugging Face Space
id: ping
run: |
echo "πŸ” Pinging Hugging Face Space..."
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" "${{ secrets.HF_SPACE_URL }}")
echo "βœ… Response status: $RESPONSE"
echo "status_code=$RESPONSE" >> $GITHUB_OUTPUT
if [ "$RESPONSE" -ge 200 ] && [ "$RESPONSE" -lt 400 ]; then
echo "βœ… Space is awake!"
echo "success=true" >> $GITHUB_OUTPUT
exit 0
else
echo "❌ Space returned status: $RESPONSE"
echo "success=false" >> $GITHUB_OUTPUT
exit 1
fi
env:
HF_SPACE_URL: ${{ secrets.HF_SPACE_URL }}
- name: Notify Telegram on failure
if: failure()
run: |
echo "πŸ“§ Sending Telegram alert..."
curl -X POST "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendMessage" \
-d "chat_id=${{ secrets.TELEGRAM_CHAT_ID }}" \
-d "text=⚠️ <b>KeepAlive Alert</b>%0A%0AπŸ”΄ HF Space health check failed!%0A<b>Status:</b> ${{ steps.ping.outputs.status_code }}%0A%0AThe Space might be sleeping or down." \
-d "parse_mode=HTML"
- name: Notify Telegram on success (after previous failure)
if: success()
run: |
echo "πŸ“§ Sending Telegram success notification..."
curl -X POST "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendMessage" \
-d "chat_id=${{ secrets.TELEGRAM_CHAT_ID }}" \
-d "text=βœ… <b>KeepAlive OK</b>%0A%0A🟒 HF Space health check passed!%0A<b>Status:</b> ${{ steps.ping.outputs.status_code }}%0A%0AThe Space is awake and running." \
-d "parse_mode=HTML"