LLMProviders / .github /workflows /update-providers.yml
CrispStrobe
ci: fix HF authentication in workflows by embedding token in remote URL
ff2d960
name: Update provider data
on:
schedule:
- cron: '0 6 * * *' # daily at 06:00 UTC
workflow_dispatch: # allow manual trigger from GitHub Actions UI
permissions:
contents: write
jobs:
update:
runs-on: ubuntu-latest
timeout-minutes: 10
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 provider data
env:
REQUESTY_API_KEY: ${{ secrets.REQUESTY_API_KEY }}
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
run: node scripts/fetch-providers.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/providers.json
git diff --staged --quiet && echo "No changes." || (
git commit -m "chore: update provider 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