tfrere's picture
tfrere HF Staff
test(api): cover taxonomy fallback + moderation regex, gate deploy
3aa3c86
Raw
History Blame Contribute Delete
1.51 kB
name: Deploy to HF Space
on:
push:
branches: [main]
workflow_dispatch:
concurrency:
group: deploy-hf-space
cancel-in-progress: true
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
# No build step (HF builds the Docker image). Just a cheap syntax
# gate so we never ship a server that won't boot.
- name: Syntax check
run: for f in server/*.js; do node --check "$f"; done
# Unit tests (built-in node:test runner, no deps). Gates the
# deploy: the `deploy` job `needs: validate`, so a red test
# blocks the push to the Space.
- name: Run tests
run: npm test
deploy:
needs: validate
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
# Mirror this repo to the Space. The Space is a deploy target, so
# a force push is expected (its history is disposable).
- name: Push to Hugging Face Space
env:
HF_TOKEN: ${{ secrets.HF_TOKEN }}
run: |
git config user.email "ci@github-actions"
git config user.name "github-actions"
# Token auth: the username part of the URL is ignored by HF,
# only HF_TOKEN authenticates. Space target is fixed.
git push --force "https://pollen-robotics:${HF_TOKEN}@huggingface.co/spaces/pollen-robotics/reachy-mini-api.git" HEAD:main