Spaces:
Running
Running
| name: Update benchmark data | |
| on: | |
| schedule: | |
| - cron: '0 4 * * 0' # weekly, Sunday at 04:00 UTC | |
| workflow_dispatch: # allow manual trigger from GitHub Actions UI | |
| permissions: | |
| contents: write | |
| jobs: | |
| update: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'npm' | |
| - run: npm install | |
| - name: Fetch all benchmark data | |
| run: node scripts/fetch-benchmarks.js | |
| - name: Commit if changed | |
| run: | | |
| git config user.name "github-actions[bot]" | |
| git config user.email "github-actions[bot]@users.noreply.github.com" | |
| git add data/benchmarks.json | |
| git diff --staged --quiet && echo "No changes." || ( | |
| git commit -m "chore: update benchmark data [skip ci]" && | |
| git pull --rebase origin main && | |
| git push origin main | |
| ) | |
| - name: Sync to Hugging Face | |
| env: | |
| HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
| run: | | |
| if [ -z "$HF_TOKEN" ]; then | |
| echo "HF_TOKEN is not set, skipping sync." | |
| exit 0 | |
| fi | |
| git remote add hf https://cstr:$HF_TOKEN@huggingface.co/spaces/cstr/LLMProviders || true | |
| # Prepend metadata only for the HF version of README | |
| cat .huggingface/space.yml README.md > HF_README.md | |
| mv HF_README.md README.md | |
| git commit -am "chore: sync to Hugging Face with metadata" || true | |
| git push hf main --force | |