-
-
Notifications
You must be signed in to change notification settings - Fork 234
46 lines (38 loc) · 1.55 KB
/
Copy pathhf-space-restart.yml
File metadata and controls
46 lines (38 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
name: Rebuild Hugging Face Space
on:
# Can be called from other workflows
workflow_call:
# Can be triggered manually
workflow_dispatch:
# Scheduled reset (daily at midnight UTC)
schedule:
- cron: '0 0 * * *' # Daily at midnight UTC
jobs:
rebuild-space:
runs-on: ubuntu-latest
steps:
- name: Rebuild Hugging Face Space
run: |
echo "Triggering HF Space factory rebuild to pull latest image..."
if [ -z "${{ vars.HF_SPACE_ID }}" ]; then
echo "::warning::HF_SPACE_ID variable not set. Skipping HF restart."
exit 0
fi
if [ -z "${{ secrets.HF_TOKEN }}" ]; then
echo "::warning::HF_TOKEN secret not set. Skipping HF restart."
exit 0
fi
RESPONSE=$(curl -s -w "\n%{http_code}" -X POST \
"https://huggingface.co/api/spaces/${{ vars.HF_SPACE_ID }}/restart?factory=true" \
-H "Authorization: Bearer ${{ secrets.HF_TOKEN }}" \
-H "Content-Type: application/json")
HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
BODY=$(echo "$RESPONSE" | sed '$d')
if [ "$HTTP_CODE" -ge 200 ] && [ "$HTTP_CODE" -lt 300 ]; then
echo "✅ HF Space factory rebuild triggered successfully!"
echo "Space: ${{ vars.HF_SPACE_ID }}"
else
echo "::warning::HF Space rebuild failed (HTTP $HTTP_CODE)"
echo "Response: $BODY"
echo "Space may not exist or token may be invalid."
fi