robertkeus's picture
Upload folder using huggingface_hub
f7c0a2b verified
name: Tests
on:
push:
pull_request:
permissions:
contents: read
actions: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
tests:
name: pytest (py${{ matrix.python-version }})
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
python-version: ["3.12"]
env:
HF_TOKEN: ${{ secrets.HF_TOKEN }}
HF_HUB_ETAG_TIMEOUT: "120"
HF_HUB_DOWNLOAD_TIMEOUT: "120"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: astral-sh/setup-uv@v5
- name: Set HF_HOME
shell: bash
run: |
echo "HF_HOME=${RUNNER_TEMP}/.hf" >> "$GITHUB_ENV"
mkdir -p "${RUNNER_TEMP}/.hf"
- name: Cache Hugging Face hub
uses: actions/cache@v4
with:
path: ${{ runner.temp }}/.hf
key: hf-${{ runner.os }}-${{ hashFiles('uv.lock', 'pyproject.toml') }}
restore-keys: hf-${{ runner.os }}-
# test-only .env file
- name: Create test .env
run: |
printf "OPENAI_API_KEY=test-dummy\n" > .env
- name: Install (locked)
run: |
uv sync --frozen --group dev --extra all_vision
# Prefetch HF dataset to avoid download during test collection
- name: Prefetch HF dataset
run: |
.venv/bin/python - <<'PY'
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="pollen-robotics/reachy-mini-emotions-library",
repo_type="dataset",
etag_timeout=120,
max_workers=4,
)
PY
- name: Run tests
run: .venv/bin/pytest -q