| name: Keep HuggingFace Space Alive |
|
|
| on: |
| schedule: |
| |
| - cron: '*/25 * * * *' |
| workflow_dispatch: |
|
|
| jobs: |
| ping: |
| runs-on: ubuntu-latest |
| steps: |
| - name: Ping HuggingFace Space |
| run: | |
| echo "🏓 Pinging Space: ${{ secrets.HF_SPACE_URL }}" |
| STATUS=$(curl -s -o /dev/null -w "%{http_code}" \ |
| --max-time 30 \ |
| --retry 3 \ |
| --retry-delay 5 \ |
| "${{ secrets.HF_SPACE_URL }}/wake") |
| echo "Response: $STATUS" |
| if [ "$STATUS" -ge 200 ] && [ "$STATUS" -lt 400 ]; then |
| echo "✅ Space is alive!" |
| else |
| echo "⚠️ Space returned $STATUS — may be starting up" |
| fi |
| |
| - name: Ping healthz too |
| run: | |
| curl -s --max-time 30 "${{ secrets.HF_SPACE_URL }}/healthz" | head -c 200 || true |
| |