# Daily Climperor web data refresh + deploy when changed. # Repo secrets: STRATZ_API_TOKEN (optional for daily), CLOUDFLARE_EMAIL, # CLOUDFLARE_API_KEY, OSS_ACCESS_KEY_ID, OSS_ACCESS_KEY_SECRET # Runner: same self-hosted Mac mini as site-traffic-notify (needs python3, node/npx). # daily also runs fetch_streamers.py (Douyin soft-fail; keeps previous counts on miss). name: web-daily on: schedule: # 06:00 China = 22:00 UTC previous calendar day - cron: "0 22 * * *" workflow_dispatch: jobs: refresh: runs-on: self-hosted steps: - name: Checkout uses: actions/checkout@v4 - name: Install deps run: | set -e PYTHON=python3 command -v python3 >/dev/null || PYTHON=python command -v node >/dev/null || { echo "node/npx required for wrangler deploy"; exit 1; } "$PYTHON" -m pip install -q -r requirements.txt -r requirements-web.txt - name: Refresh daily tier env: STRATZ_API_TOKEN: ${{ secrets.STRATZ_API_TOKEN }} CLOUDFLARE_EMAIL: ${{ secrets.CLOUDFLARE_EMAIL }} CLOUDFLARE_API_KEY: ${{ secrets.CLOUDFLARE_API_KEY }} OSS_ACCESS_KEY_ID: ${{ secrets.OSS_ACCESS_KEY_ID }} OSS_ACCESS_KEY_SECRET: ${{ secrets.OSS_ACCESS_KEY_SECRET }} run: | set -e PYTHON=python3 command -v python3 >/dev/null || PYTHON=python "$PYTHON" refresh_web.py --tier daily