mirror of
https://github.com/huggingface/lerobot.git
synced 2026-05-25 05:29:55 +00:00
feat(ci): add macos runner testing
This commit is contained in:
@@ -57,7 +57,11 @@ jobs:
|
|||||||
# It runs everytime we commit to a PR or push to main
|
# It runs everytime we commit to a PR or push to main
|
||||||
fast-pytest-tests:
|
fast-pytest-tests:
|
||||||
name: Fast Pytest Tests
|
name: Fast Pytest Tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, macos-latest]
|
||||||
env:
|
env:
|
||||||
MUJOCO_GL: egl
|
MUJOCO_GL: egl
|
||||||
steps:
|
steps:
|
||||||
@@ -67,12 +71,16 @@ jobs:
|
|||||||
lfs: true
|
lfs: true
|
||||||
|
|
||||||
# TODO(Steven): Evaluate the need of these dependencies
|
# TODO(Steven): Evaluate the need of these dependencies
|
||||||
- name: Install apt dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update && sudo apt-get install -y build-essential git \
|
if [[ "${{ matrix.os }}" == 'ubuntu-latest' ]]; then
|
||||||
curl libglib2.0-0 libegl1-mesa-dev ffmpeg \
|
sudo apt-get update && sudo apt-get install -y build-essential \
|
||||||
libusb-1.0-0-dev speech-dispatcher libgeos-dev portaudio19-dev
|
git curl libglib2.0-0 libegl1-mesa-dev ffmpeg libusb-1.0-0-dev \
|
||||||
|
speech-dispatcher libgeos-dev portaudio19-dev
|
||||||
|
elif [[ "${{ matrix.os }}" == 'macos-latest' ]]; then
|
||||||
|
brew update && brew install git geos portaudio ffmpeg@7
|
||||||
|
echo "DYLD_LIBRARY_PATH=/opt/homebrew/opt/ffmpeg@7/lib:/opt/homebrew/lib:/usr/local/lib:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
- name: Setup uv and Python
|
- name: Setup uv and Python
|
||||||
uses: astral-sh/setup-uv@v6 # zizmor: ignore[unpinned-uses]
|
uses: astral-sh/setup-uv@v6 # zizmor: ignore[unpinned-uses]
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -51,7 +51,11 @@ jobs:
|
|||||||
# It runs everytime a PR is approved or a push to main
|
# It runs everytime a PR is approved or a push to main
|
||||||
full-tests:
|
full-tests:
|
||||||
name: Full Tests
|
name: Full Tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, macos-latest]
|
||||||
if: |
|
if: |
|
||||||
(github.event_name == 'pull_request_review' && github.event.review.state == 'approved') ||
|
(github.event_name == 'pull_request_review' && github.event.review.state == 'approved') ||
|
||||||
github.event_name == 'push' ||
|
github.event_name == 'push' ||
|
||||||
@@ -64,11 +68,16 @@ jobs:
|
|||||||
lfs: true
|
lfs: true
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
- name: Install apt dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update && sudo apt-get install -y build-essential \
|
if [[ "${{ matrix.os }}" == 'ubuntu-latest' ]]; then
|
||||||
git curl libglib2.0-0 libegl1-mesa-dev ffmpeg libusb-1.0-0-dev \
|
sudo apt-get update && sudo apt-get install -y build-essential \
|
||||||
speech-dispatcher libgeos-dev portaudio19-dev
|
git curl libglib2.0-0 libegl1-mesa-dev ffmpeg libusb-1.0-0-dev \
|
||||||
|
speech-dispatcher libgeos-dev portaudio19-dev
|
||||||
|
elif [[ "${{ matrix.os }}" == 'macos-latest' ]]; then
|
||||||
|
brew update && brew install git geos portaudio ffmpeg@7
|
||||||
|
echo "DYLD_LIBRARY_PATH=/opt/homebrew/opt/ffmpeg@7/lib:/opt/homebrew/lib:/usr/local/lib:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Setup uv and Python
|
- name: Setup uv and Python
|
||||||
uses: astral-sh/setup-uv@v6 # zizmor: ignore[unpinned-uses]
|
uses: astral-sh/setup-uv@v6 # zizmor: ignore[unpinned-uses]
|
||||||
|
|||||||
@@ -120,7 +120,11 @@ jobs:
|
|||||||
test-release:
|
test-release:
|
||||||
name: Test Release
|
name: Test Release
|
||||||
needs: [build-and-publish]
|
needs: [build-and-publish]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, macos-latest]
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
env:
|
env:
|
||||||
@@ -130,11 +134,16 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Install apt dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update && sudo apt-get install -y build-essential \
|
if [[ "${{ matrix.os }}" == 'ubuntu-latest' ]]; then
|
||||||
git curl libglib2.0-0 libegl1-mesa-dev ffmpeg libusb-1.0-0-dev \
|
sudo apt-get update && sudo apt-get install -y build-essential \
|
||||||
speech-dispatcher libgeos-dev portaudio19-dev
|
git curl libglib2.0-0 libegl1-mesa-dev ffmpeg libusb-1.0-0-dev \
|
||||||
|
speech-dispatcher libgeos-dev portaudio19-dev
|
||||||
|
elif [[ "${{ matrix.os }}" == 'macos-latest' ]]; then
|
||||||
|
brew update && brew install git geos portaudio ffmpeg@7
|
||||||
|
echo "DYLD_LIBRARY_PATH=/opt/homebrew/opt/ffmpeg@7/lib:/opt/homebrew/lib:/usr/local/lib:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
- name: Setup uv and Python
|
- name: Setup uv and Python
|
||||||
uses: astral-sh/setup-uv@v6 # zizmor: ignore[unpinned-uses]
|
uses: astral-sh/setup-uv@v6 # zizmor: ignore[unpinned-uses]
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -42,7 +42,11 @@ jobs:
|
|||||||
# This job runs the E2E tests + pytest with all unbound extras
|
# This job runs the E2E tests + pytest with all unbound extras
|
||||||
full-tests:
|
full-tests:
|
||||||
name: Full Unbound Tests
|
name: Full Unbound Tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, macos-latest]
|
||||||
env:
|
env:
|
||||||
MUJOCO_GL: egl
|
MUJOCO_GL: egl
|
||||||
steps:
|
steps:
|
||||||
@@ -51,11 +55,16 @@ jobs:
|
|||||||
lfs: true
|
lfs: true
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
- name: Install apt dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update && sudo apt-get install -y build-essential \
|
if [[ "${{ matrix.os }}" == 'ubuntu-latest' ]]; then
|
||||||
git curl libglib2.0-0 libegl1-mesa-dev ffmpeg libusb-1.0-0-dev \
|
sudo apt-get update && sudo apt-get install -y build-essential \
|
||||||
speech-dispatcher libgeos-dev portaudio19-dev
|
git curl libglib2.0-0 libegl1-mesa-dev ffmpeg libusb-1.0-0-dev \
|
||||||
|
speech-dispatcher libgeos-dev portaudio19-dev
|
||||||
|
elif [[ "${{ matrix.os }}" == 'macos-latest' ]]; then
|
||||||
|
brew update && brew install git geos portaudio ffmpeg@7
|
||||||
|
echo "DYLD_LIBRARY_PATH=/opt/homebrew/opt/ffmpeg@7/lib:/opt/homebrew/lib:/usr/local/lib:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Setup uv and Python
|
- name: Setup uv and Python
|
||||||
uses: astral-sh/setup-uv@v6 # zizmor: ignore[unpinned-uses]
|
uses: astral-sh/setup-uv@v6 # zizmor: ignore[unpinned-uses]
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ dependencies = [
|
|||||||
"huggingface-hub[hf-transfer,cli]>=0.34.2,<0.36.0",
|
"huggingface-hub[hf-transfer,cli]>=0.34.2,<0.36.0",
|
||||||
|
|
||||||
# Core dependencies
|
# Core dependencies
|
||||||
|
"setuptools>=71.0.0,<81.0.0",
|
||||||
"cmake>=3.29.0.1,<4.2.0",
|
"cmake>=3.29.0.1,<4.2.0",
|
||||||
"einops>=0.8.0,<0.9.0",
|
"einops>=0.8.0,<0.9.0",
|
||||||
"opencv-python-headless>=4.9.0,<4.13.0",
|
"opencv-python-headless>=4.9.0,<4.13.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user