Skip to content

Integrate mobile robots by interfacing with airo-tulip #534

Integrate mobile robots by interfacing with airo-tulip

Integrate mobile robots by interfacing with airo-tulip #534

Workflow file for this run

name: Run Tests
on:
pull_request:
push:
branches:
- main
- ci-dev
jobs:
tests:
name: Run Unit Tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: [ 3.9,'3.10','3.11']
#os: [ubuntu-latest, windows-latest, macos-latest] # avoid this cost untill it becomes necessary..
package: [airo-typing,airo-spatial-algebra, airo-camera-toolkit, airo-robots, airo-teleop, airo-dataset-tools] #TODO: autodiscover?
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: |
**/setup.py
**/requirements*.txt
- name: Install package
run: |
python -m pip install --upgrade pip
pip install wheel setuptools
pip install "pytest<8.0.0"
pip install airo-typing/ airo-spatial-algebra/ airo-camera-toolkit/ airo-robots/ airo-teleop/ airo-dataset-tools/
- name: Run Tests
run: pytest ${{matrix.package}}/
- name: Run Notebooks
# cannot use glob patter because that fails if no notebooks are found (in which case the glob pattern is empty.)
# so cannot do something like pytest --nbmake ${{matrix.package}}/**/*.ipynb
# and we also don't want to re-execute all regular tests (pytest --nbmake .)
# so manually iterate over all files and run pytest --nbmake on each one.
# don't forget to enable glob! https://github.com/orgs/community/discussions/25638
run: |
pip install nbmake
python -m ipykernel install --user --name airo-mono
shopt -s globstar nullglob
echo "Testing notebooks..."
for nb in ${{matrix.package}}/**/*.ipynb; do
pytest --nbmake $nb;
done