| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| |
| |
| |
| name: Fast Tests |
|
|
| on: |
| |
| workflow_dispatch: |
|
|
| pull_request: |
| branches: |
| - main |
| paths: |
| - "src/**" |
| - "tests/**" |
| - ".github/workflows/**" |
| - "pyproject.toml" |
| - "uv.lock" |
| - "Makefile" |
| push: |
| branches: |
| - main |
| paths: |
| - "src/**" |
| - "tests/**" |
| - ".github/workflows/**" |
| - "pyproject.toml" |
| - "uv.lock" |
| - "Makefile" |
|
|
| permissions: |
| contents: read |
|
|
| |
| env: |
| UV_VERSION: "0.8.0" |
| PYTHON_VERSION: "3.12" |
|
|
| |
| concurrency: |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} |
| cancel-in-progress: true |
|
|
| jobs: |
| |
| |
| |
| fast-pytest-tests: |
| name: Fast Pytest Tests |
| runs-on: ubuntu-latest |
| env: |
| MUJOCO_GL: egl |
| HF_HOME: /mnt/cache/.cache/huggingface |
| HF_LEROBOT_HOME: /mnt/cache/.cache/huggingface/lerobot |
| HF_USER_TOKEN: ${{ secrets.LEROBOT_HF_USER }} |
| steps: |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd |
| with: |
| persist-credentials: false |
| lfs: true |
|
|
| |
| |
| - name: Setup /mnt storage |
| run: sudo chown -R $USER:$USER /mnt |
|
|
| |
| - name: Install apt dependencies |
| run: | |
| sudo apt-get update && sudo apt-get install -y build-essential git \ |
| curl libglib2.0-0 libegl1-mesa-dev ffmpeg \ |
| libusb-1.0-0-dev speech-dispatcher libgeos-dev portaudio19-dev |
| |
| - name: Setup uv and Python |
| uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e |
| with: |
| enable-cache: true |
| version: ${{ env.UV_VERSION }} |
| python-version: ${{ env.PYTHON_VERSION }} |
|
|
| |
| - name: "Tier 1 β Install: base" |
| run: uv sync --locked --extra test |
|
|
| - name: Login to Hugging Face |
| if: env.HF_USER_TOKEN != '' |
| run: | |
| uv run hf auth login --token "$HF_USER_TOKEN" --add-to-git-credential |
| uv run hf auth whoami |
| |
| - name: "Tier 1 β Test: base" |
| run: uv run pytest tests -vv --maxfail=10 |
|
|
| |
| - name: "Tier 2 β Install: dataset" |
| run: uv sync --locked --extra test --extra dataset |
|
|
| - name: "Tier 2 β Test: dataset" |
| run: uv run pytest tests -vv --maxfail=10 |
|
|
| |
| - name: "Tier 3 β Install: hardware" |
| run: uv sync --locked --extra test --extra hardware |
|
|
| - name: "Tier 3 β Test: hardware" |
| run: uv run pytest tests -vv --maxfail=10 |
|
|
| |
| - name: "Tier 4 β Install: viz" |
| run: uv sync --locked --extra test --extra viz |
|
|
| - name: "Tier 4 β Test: viz" |
| run: uv run pytest tests -vv --maxfail=10 |
|
|