Files
lerobot/.github/workflows/fast_tests.yml
T
dependabot[bot] 63a6c31d8e chore(deps): bump the actions group with 8 updates
Bumps the actions group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [docker/login-action](https://github.com/docker/login-action) | `4.4.0` | `4.5.2` |
| [anthropics/claude-code-action](https://github.com/anthropics/claude-code-action) | `1.0.179` | `1.0.183` |
| [huggingface/doc-builder/.github/workflows/upload_pr_documentation.yml](https://github.com/huggingface/doc-builder) | `6108e850ae1cf2f71bb0815a600bcd50c39abfa7` | `7ccf6c02dc2e3aea1b07f6668f783b20c3bf407c` |
| [huggingface/doc-builder/.github/workflows/build_main_documentation.yml](https://github.com/huggingface/doc-builder) | `6108e850ae1cf2f71bb0815a600bcd50c39abfa7` | `7ccf6c02dc2e3aea1b07f6668f783b20c3bf407c` |
| [huggingface/doc-builder/.github/workflows/build_pr_documentation.yml](https://github.com/huggingface/doc-builder) | `6108e850ae1cf2f71bb0815a600bcd50c39abfa7` | `7ccf6c02dc2e3aea1b07f6668f783b20c3bf407c` |
| [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `8.3.2` | `9.0.0` |
| [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog) | `3.95.9` | `3.96.0` |
| [actions/stale](https://github.com/actions/stale) | `10` | `11` |


Updates `docker/login-action` from 4.4.0 to 4.5.2
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v4.4.0...v4.5.2)

Updates `anthropics/claude-code-action` from 1.0.179 to 1.0.183
- [Release notes](https://github.com/anthropics/claude-code-action/releases)
- [Commits](https://github.com/anthropics/claude-code-action/compare/b76a0776ae74036e77cd11018083743453d7ad35...be7b93b1907a4abad570368f3c74b6fe3807510b)

Updates `huggingface/doc-builder/.github/workflows/upload_pr_documentation.yml` from 6108e850ae1cf2f71bb0815a600bcd50c39abfa7 to 7ccf6c02dc2e3aea1b07f6668f783b20c3bf407c
- [Release notes](https://github.com/huggingface/doc-builder/releases)
- [Commits](https://github.com/huggingface/doc-builder/compare/6108e850ae1cf2f71bb0815a600bcd50c39abfa7...7ccf6c02dc2e3aea1b07f6668f783b20c3bf407c)

Updates `huggingface/doc-builder/.github/workflows/build_main_documentation.yml` from 6108e850ae1cf2f71bb0815a600bcd50c39abfa7 to 7ccf6c02dc2e3aea1b07f6668f783b20c3bf407c
- [Release notes](https://github.com/huggingface/doc-builder/releases)
- [Commits](https://github.com/huggingface/doc-builder/compare/6108e850ae1cf2f71bb0815a600bcd50c39abfa7...7ccf6c02dc2e3aea1b07f6668f783b20c3bf407c)

Updates `huggingface/doc-builder/.github/workflows/build_pr_documentation.yml` from 6108e850ae1cf2f71bb0815a600bcd50c39abfa7 to 7ccf6c02dc2e3aea1b07f6668f783b20c3bf407c
- [Release notes](https://github.com/huggingface/doc-builder/releases)
- [Commits](https://github.com/huggingface/doc-builder/compare/6108e850ae1cf2f71bb0815a600bcd50c39abfa7...7ccf6c02dc2e3aea1b07f6668f783b20c3bf407c)

Updates `astral-sh/setup-uv` from 8.3.2 to 9.0.0
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v8.3.2...v9.0.0)

Updates `trufflesecurity/trufflehog` from 3.95.9 to 3.96.0
- [Release notes](https://github.com/trufflesecurity/trufflehog/releases)
- [Commits](https://github.com/trufflesecurity/trufflehog/compare/27b0417c16317ca9a472a9a8092acce143b49c55...6f3c981e7b77f235fd2702dd74af25fc4b72bf11)

Updates `actions/stale` from 10 to 11
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v10...v11)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: 4.5.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: anthropics/claude-code-action
  dependency-version: 1.0.183
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: huggingface/doc-builder/.github/workflows/upload_pr_documentation.yml
  dependency-version: 7ccf6c02dc2e3aea1b07f6668f783b20c3bf407c
  dependency-type: direct:production
  dependency-group: actions
- dependency-name: huggingface/doc-builder/.github/workflows/build_main_documentation.yml
  dependency-version: 7ccf6c02dc2e3aea1b07f6668f783b20c3bf407c
  dependency-type: direct:production
  dependency-group: actions
- dependency-name: huggingface/doc-builder/.github/workflows/build_pr_documentation.yml
  dependency-version: 7ccf6c02dc2e3aea1b07f6668f783b20c3bf407c
  dependency-type: direct:production
  dependency-group: actions
- dependency-name: astral-sh/setup-uv
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: trufflesecurity/trufflehog
  dependency-version: 3.96.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: actions/stale
  dependency-version: '11'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-03 09:34:15 +00:00

129 lines
4.6 KiB
YAML

# Copyright 2025 The HuggingFace Inc. team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This workflow validates each optional-dependency tier in isolation.
# Each tier installs a different extra and runs the full test suite.
# Tests that require an extra not installed in the current tier are
# skipped automatically via pytest.importorskip guards.
name: Fast Tests
on:
# Allows running this workflow manually from the Actions tab
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
# Sets up the environment variables
env:
UV_VERSION: "0.11.30"
PYTHON_VERSION: "3.12"
# Ensures that only the latest commit for a PR or branch is built, canceling older runs.
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
# This job runs pytests in isolated dependency tiers.
# Each tier installs a different extra and runs the full suite;
# tests gated behind other extras skip automatically.
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
lfs: true
# NOTE(Steven): Mount to `/mnt` to avoid the limited storage on `/home`. Consider cleaning default SDKs or using self-hosted runners for more space.
# (As of 2024-06-10, the runner's `/home` has only 6.2 GB free—8% of its 72 GB total.)
- name: Setup /mnt storage
run: sudo chown -R $USER:$USER /mnt
# TODO(Steven): Evaluate the need of these dependencies
- 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@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
with:
enable-cache: true
version: ${{ env.UV_VERSION }}
python-version: ${{ env.PYTHON_VERSION }}
# ── Tier 1: Base ──────────────────────────────────────
- 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
# ── Tier 2: Dataset ──────────────────────────────────
- 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
# ── Tier 3: Hardware ─────────────────────────────────
- 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
# ── Tier 4: Viz ──────────────────────────────────────
- 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