| name: Keep HF Space Alive |
|
|
| on: |
| schedule: |
| - cron: '0 5 * * *' |
| workflow_dispatch: |
|
|
| permissions: |
| contents: write |
|
|
| jobs: |
| heartbeat: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v4 |
| with: |
| fetch-depth: 0 |
|
|
| - name: Set up Python |
| uses: actions/setup-python@v5 |
| with: |
| python-version: '3.11' |
|
|
| - name: Install pandas |
| run: pip install pandas |
|
|
| - name: Refresh FRED demo data |
| continue-on-error: true |
| run: python scripts/download_fred_data.py |
|
|
| - name: Generate heartbeat CSV |
| run: | |
| APP_LIVE_DATE="2026-02-11" |
| TODAY=$(date -u +%Y-%m-%d) |
| DAYS=$(( ( $(date -u -d "$TODAY" +%s) - $(date -u -d "$APP_LIVE_DATE" +%s) ) / 86400 )) |
| echo "date,days_since_app_went_live" > data/heartbeat.csv |
| echo "${TODAY},${DAYS}" >> data/heartbeat.csv |
| cat data/heartbeat.csv |
| |
| - name: Commit and push to GitHub |
| run: | |
| git config user.name "github-actions[bot]" |
| git config user.email "github-actions[bot]@users.noreply.github.com" |
| git add data/ |
| git diff --staged --quiet || git commit -m "Daily heartbeat + FRED refresh: $(date -u +%Y-%m-%d)" |
| git push |
| |
| - name: Sync to HF Spaces |
| env: |
| HF_TOKEN: ${{ secrets.HF_TOKEN }} |
| run: | |
| git remote add hf "https://fmegahed:${HF_TOKEN}@huggingface.co/spaces/fmegahed/timeseries_visualization" || \ |
| git remote set-url hf "https://fmegahed:${HF_TOKEN}@huggingface.co/spaces/fmegahed/timeseries_visualization" |
| git push hf HEAD:main --force |
| |