Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
f089ab3
fix(hf hub dependency): adding ceiling version on huggingface_hub (#1…
CarolinePascal Jul 28, 2025
615adfc
smolfix(vla): typing and fix offline inference when action in the bat…
AdilZouitine Jul 28, 2025
98746c7
bump wandb version to be compatible with ne grpcio-deps (#1604)
michel-aractingi Jul 28, 2025
b61a4de
chore(pi0fast): TODO comment to warn the need for removal ignore_inde…
AdilZouitine Jul 28, 2025
664e069
docs/style: updating docs and deprecated links (#1584)
CarolinePascal Jul 28, 2025
c3d5e49
fix(policies): remove action from batch for offline evaluation (#1609)
AdilZouitine Jul 28, 2025
4b88842
fix bug about sampling time from beta distribution (#1605)
KleistvonLiu Jul 28, 2025
7fe6ada
fix(config): typing correction on config.py (#1320)
LumenYoung Jul 28, 2025
b267cd4
fix(tokenizers dependency): adding ceiling version on tokenizers (#1612)
CarolinePascal Jul 28, 2025
c7c3b47
Fix sample beta for smolvla as done for pi0, remove sample_beta func …
michel-aractingi Jul 28, 2025
c14ab9e
fix(dependencies): removing versions ceilings on tokenizers and huggi…
CarolinePascal Jul 29, 2025
5695432
fix(DiffusionPolicy): Fix bug where training without image features w…
abhaybd Jul 29, 2025
67196c9
fix(180-degree rotation): Add `cv2.ROTATE_180` to rotation checks in …
Rayen023 Jul 29, 2025
71eff18
Fix pi0 checkpoint state map (#1415)
YushunXiang Jul 30, 2025
945e1ff
fix colab typo (#1629)
fracapuano Jul 31, 2025
91ed609
fix(ci): declare entrypoints + fix testing release (#1642)
imstevenpmwork Aug 1, 2025
1baaa77
feat(ci): release workflow publish to pypi test + lock files (#1643)
imstevenpmwork Aug 1, 2025
2f8d98b
Update readme (#1570)
aliberts Aug 1, 2025
11525ce
fix(ci): change steps based on wheter it is a -rc tag (#1646)
imstevenpmwork Aug 1, 2025
dcb305f
fix(ci): change release-name to title (#1647)
imstevenpmwork Aug 1, 2025
60dc8e3
fix(ci): use base tag for testpy to mimic the pyproject.toml version …
imstevenpmwork Aug 1, 2025
3e24eca
chore(ci): Bump to v0.3.0 (#1649)
imstevenpmwork Aug 1, 2025
240a389
fix(ci): remove uv run + bump minor (#1651)
imstevenpmwork Aug 1, 2025
f771e3e
fix(ci): create venv for release testing (#1652)
imstevenpmwork Aug 1, 2025
8c57752
chore: Bump to 4.0.0 (#1653)
imstevenpmwork Aug 4, 2025
90d3a99
Fix policy construction (#1665)
fracapuano Aug 4, 2025
e0096fe
fix(docs): Update links in il_robots.mdx and il_sim.mdx to use absolu…
tc-huang Aug 5, 2025
06bebd9
fix(typo): fixing typo in LeRobot authors names (#1673)
CarolinePascal Aug 5, 2025
99a0683
hil serl sim tutorial fixed and upgraded
spirosperos Aug 6, 2025
b763d0e
fix
spirosperos Aug 6, 2025
1017665
formatting
spirosperos Aug 6, 2025
b1e8a05
fix
spirosperos Aug 6, 2025
bb01d8e
fix
spirosperos Aug 6, 2025
c5b8238
fix
spirosperos Aug 6, 2025
5303eb7
Fix missing newlines at end of files
spirosperos Aug 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 45 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ on:
tags:
- 'v*.*.*' # Trigger on tags like v0.1.0, v1.0.0

# Sets up the environment variables
env:
UV_VERSION: "0.8.0"
PYTHON_VERSION: "3.10"

jobs:
# This job builds the Python package and publishes it to PyPI
build-and-publish:
Expand Down Expand Up @@ -50,6 +55,7 @@ jobs:
VERSION_NUMBER=${VERSION#v}
echo "tag_version=$VERSION_NUMBER" >> $GITHUB_OUTPUT
- name: Check if version matches pyproject.toml
if: startsWith(github.ref, 'refs/tags/v') && !contains(github.ref, '-')
# zizmor: ignore[template-injection]
run: |
TAG_VERSION=${{ steps.extract_info.outputs.tag_version }}
Expand Down Expand Up @@ -86,13 +92,29 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# zizmor: ignore[template-injection]
run: gh release create ${{ github.ref_name }} --release-name "Release ${{ github.ref_name }}" --generate-notes ./dist/*
run: |
gh release create ${{ github.ref_name }} \
--title "Release ${{ github.ref_name }}" \
--generate-notes \
--draft=$([[ "${{ github.ref_name }}" == *-* ]] && echo true || echo false) \
--prerelease=$([[ "${{ github.ref_name }}" == *-* ]] && echo true || echo false) \
./dist/*

- name: Publish to TestPyPI for pre-releases
# True for tags like 'v0.2.0-rc1'
if: startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-')
uses: pypa/gh-action-pypi-publish@v1.12.4 # zizmor: ignore[unpinned-uses, use-trusted-publishing]
with:
repository-url: https://test.pypi.org/legacy/
verbose: true
print-hash: true

- name: Publish to PyPI
if: startsWith(github.ref, 'refs/tags/v')
if: startsWith(github.ref, 'refs/tags/v') && !contains(github.ref, '-')
uses: pypa/gh-action-pypi-publish@v1.12.4 # zizmor: ignore[unpinned-uses, use-trusted-publishing]
with:
password: ${{ secrets.PYPI_API_TOKEN }}
verbose: true
print-hash: true

# This job runs end-to-end tests on the release
test-release:
Expand All @@ -119,15 +141,31 @@ jobs:
enable-cache: true
version: ${{ env.UV_VERSION }}
python-version: ${{ env.PYTHON_VERSION }}
- name: Create uv virtual environment
run: uv venv
- name: Install lerobot release
run: uv run pip install lerobot==${{ needs.build-and-publish.outputs.version }} # zizmor: ignore[template-injection]

# zizmor: ignore[template-injection]
run: |
VERSION="${{ needs.build-and-publish.outputs.version }}"
if [[ "$VERSION" == *-* ]]; then
BASE_VERSION="${VERSION%%-*}"
echo "Installing pre-release version $BASE_VERSION from TestPyPI..."
uv pip install \
--index-url https://test.pypi.org/simple/ \
--extra-index-url https://pypi.org/simple \
--index-strategy unsafe-best-match \
"lerobot[all]==$BASE_VERSION"
else
echo "Installing release version $VERSION from PyPI..."
uv pip install "lerobot[all]==$VERSION"
fi
- name: Check lerobot version
run: uv run lerobot --version
run: uv run python -c "import lerobot; print(lerobot.__version__)"

- name: Run end-to-end tests
run: uv run make test-end-to-end


# TODO(Steven): Publish draft/pre-release and to test pypi
# TODO(Steven): Publish draft/pre-release and to test pypi weekly
# TODO(Steven): Separate build and publish job
# TODO(Steven): Tag documentation with the same version as the package
6 changes: 6 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,26 +36,32 @@ repos:
- id: check-yaml
- id: check-toml
- id: end-of-file-fixer
exclude: ^(outputs/|examples/hil_serl_simulation_training/outputs/)
- id: trailing-whitespace
exclude: ^(outputs/|examples/hil_serl_simulation_training/outputs/)

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.12.4
hooks:
- id: ruff-format
exclude: ^(outputs/|examples/hil_serl_simulation_training/outputs/)
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
exclude: ^(outputs/|examples/hil_serl_simulation_training/outputs/)

- repo: https://github.com/adhtruong/mirrors-typos
rev: v1.34.0
hooks:
- id: typos
args: [--force-exclude]
exclude: ^(outputs/|examples/hil_serl_simulation_training/outputs/)

- repo: https://github.com/asottile/pyupgrade
rev: v3.20.0
hooks:
- id: pyupgrade
args: [--py310-plus]
exclude: ^(outputs/|examples/hil_serl_simulation_training/outputs/)

##### Markdown Quality #####
- repo: https://github.com/rbubley/mirrors-prettier
Expand Down
Loading