Skip to content

Commit

Permalink
Prepare v2.2.0 (opendr-eu#435)
Browse files Browse the repository at this point in the history
* Version bump

* Update version in ros/ros2 packages

* Remove duplicated line

* Update workflows

* Try to free some disk space

* Update tests_suite.yml

* Update tests_suite.yml

* Update tests_suite_develop.yml

* Fix deprecation errors in tests_suite.yml

* Disable docker test of controller/multi_object_search

* Update actions version

* Debug by skipping deleting the docker artifact

* Debug perception/object_tracking_2d

* Restore all tests
  • Loading branch information
stefaniapedrazzi authored and Luca Marchionni committed Jul 3, 2023
1 parent 11cb911 commit 881fe7b
Show file tree
Hide file tree
Showing 27 changed files with 96 additions and 74 deletions.
16 changes: 8 additions & 8 deletions .github/workflows/publisher.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ jobs:
publish-wheel:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v7
with:
submodules: true
- name: Set up Python 3.8
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Install prerequisites
Expand All @@ -39,16 +39,16 @@ jobs:
publish-docker-cpu:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: true
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v5.1
uses: tj-actions/branch-names@v7
- name: Build Docker Image
run: docker build --tag opendr-toolkit:cpu_$OPENDR_VERSION --build-arg branch=${{ steps.branch-name.outputs.current_branch }} --file Dockerfile .
- name: Login to Docker Hub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
Expand All @@ -59,16 +59,16 @@ jobs:
publish-docker-cuda:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: true
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v5.1
uses: tj-actions/branch-names@v7
- name: Build Docker Image
run: docker build --tag opendr-toolkit:cuda_$OPENDR_VERSION --build-arg branch=${{ steps.branch-name.outputs.current_branch }} --file Dockerfile-cuda .
- name: Login to Docker Hub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test_packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,6 @@ jobs:
python-version: 3.8
- name: Test Docker
run: |
docker run --name toolkit -i opendr/opendr-toolkit:cpu_v2.1.0 bash
docker run --name toolkit -i opendr/opendr-toolkit:cpu_v2.2.0 bash
docker start toolkit
docker exec -i toolkit bash -c "source bin/activate.sh && source tests/sources/tools/control/mobile_manipulation/run_ros.sh && python3 -m unittest discover -s tests/sources/tools/${{ matrix.package }}"
39 changes: 25 additions & 14 deletions .github/workflows/tests_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,12 +139,14 @@ jobs:
if: ${{ contains(github.event.pull_request.labels.*.name, 'test release') || github.event_name == 'schedule' }}
runs-on: ubuntu-20.04
steps:
- name: Free Disk Space
uses: jlumbroso/free-disk-space@v1.2.0
- uses: actions/checkout@v3
with:
submodules: true
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v5.1
uses: tj-actions/branch-names@v7
- name: Build image
run: |
docker build --no-cache --tag opendr/opendr-toolkit:cpu_test --build-arg branch=${{ steps.branch-name.outputs.current_branch }} --build-arg ros_distro=noetic --file Dockerfile .
Expand Down Expand Up @@ -213,12 +215,13 @@ jobs:
path: artifact
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v5.1
uses: tj-actions/branch-names@v7
- name: Test Wheel
run: |
export OPENDR_HOME=$PWD
export DISABLE_BCOLZ_AVX2=true
export OPENDR_DEVICE=cpu
export PYTHONPATH=$OPENDR_HOME/src:$PYTHONPATH
export ROS_DISTRO=noetic
sudo apt -y install python3.8-venv libfreetype6-dev git build-essential cmake python3-dev wget libopenblas-dev libsndfile1 libboost-dev python3-dev
Expand All @@ -235,10 +238,12 @@ jobs:
if [ ! -z ${package[1]} ]; then package=${package[1]}; fi
if [ "$package" != "opendr" ]; then
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-$package-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-$package-*.tar.gz
fi
done < packages.txt
cd src/opendr/perception/object_detection_2d/retinaface; make; cd $OPENDR_HOME
# run the test
python3 -m unittest discover -s tests/sources/tools/${{ matrix.package }}
test-wheel-separate:
Expand Down Expand Up @@ -299,7 +304,7 @@ jobs:
path: artifact
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v5.1
uses: tj-actions/branch-names@v7
- name: Test Wheel Separate
run: |
export OPENDR_HOME=$PWD
Expand All @@ -320,27 +325,31 @@ jobs:
if [ ! -z ${package[1]} ]; then package=${package[1]}; fi
# all packages require the engine
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-engine-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-engine-*.tar.gz
# install specific package
if [ ${{ matrix.package }} == "utils" ]; then
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-hyperparameter-tuner-*.tar.gz
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-ambiguity-measure-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-hyperparameter-tuner-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-ambiguity-measure-*.tar.gz
else
# install required dependencies for derived tools, we do so manually to ensure the local one is used
if [ ${{ matrix.package }} == "perception/fall_detection" ]; then
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-pose-estimation-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-pose-estimation-*.tar.gz
elif [ ${{ matrix.package }} == "perception/heart_anomaly_detection" ]; then
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-compressive-learning-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-compressive-learning-*.tar.gz
elif [ ${{ matrix.package }} == "perception/multimodal_human_centric" ]; then
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-compressive-learning-*.tar.gz
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-object-detection-2d-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-compressive-learning-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-object-detection-2d-*.tar.gz
elif [ ${{ matrix.package }} == "perception/object_tracking_3d" ]; then
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-object-detection-3d-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-object-detection-3d-*.tar.gz
fi
# install the package itself
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-$package-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-$package-*.tar.gz
fi
if [[ ${{ matrix.package }} == "perception/object_detection_2d/retinaface" ]]; then
cd src/opendr/perception/object_detection_2d/retinaface; make; cd $OPENDR_HOME
fi
# run the test
Expand Down Expand Up @@ -387,9 +396,11 @@ jobs:
- control/mobile_manipulation
- control/single_demo_grasp
- planning/end_to_end_planning
- control/multi_object_search
# - control/multi_object_search # needs CUDA Docker container
runs-on: ubuntu-20.04
steps:
- name: Free Disk Space
uses: jlumbroso/free-disk-space@v1.2.0
- name: Download artifact
uses: actions/download-artifact@v2
with:
Expand Down
36 changes: 20 additions & 16 deletions .github/workflows/tests_suite_develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,13 +142,15 @@ jobs:
if: ${{ contains(github.event.pull_request.labels.*.name, 'test release') || github.event_name == 'schedule' }}
runs-on: ubuntu-20.04
steps:
- name: Free Disk Space
uses: jlumbroso/free-disk-space@v1.2.0
- uses: actions/checkout@v3
with:
submodules: true
ref: develop
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v5.1
uses: tj-actions/branch-names@v7
- name: Build image
run: |
docker build --no-cache --tag opendr/opendr-toolkit:cpu_test --build-arg branch=${{ steps.branch-name.outputs.current_branch }} --build-arg ros_distro=noetic --file Dockerfile .
Expand Down Expand Up @@ -218,7 +220,7 @@ jobs:
path: artifact
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v5.1
uses: tj-actions/branch-names@v7
- name: Test Wheel
run: |
export OPENDR_HOME=$PWD
Expand All @@ -241,7 +243,7 @@ jobs:
if [ ! -z ${package[1]} ]; then package=${package[1]}; fi
if [ "$package" != "opendr" ]; then
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-$package-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-$package-*.tar.gz
fi
done < packages.txt
Expand Down Expand Up @@ -288,10 +290,10 @@ jobs:
# - perception/object_detection_3d # passes, but disabled due to free() crash
- perception/facial_expression_recognition
- simulation/human_model_generation
#- control/multi_object_search
#- control/mobile_manipulation
#- control/single_demo_grasp
#- planning/end_to_end_planning
#- control/multi_object_search
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
Expand All @@ -308,7 +310,7 @@ jobs:
path: artifact
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v5.1
uses: tj-actions/branch-names@v7
- name: Test Wheel Separate
run: |
export OPENDR_HOME=$PWD
Expand All @@ -330,29 +332,29 @@ jobs:
if [ ! -z ${package[1]} ]; then package=${package[1]}; fi
# all packages require the engine
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-engine-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-engine-*.tar.gz
# install specific package
if [ ${{ matrix.package }} == "utils" ]; then
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-hyperparameter-tuner-*.tar.gz
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-ambiguity-measure-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-hyperparameter-tuner-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-ambiguity-measure-*.tar.gz
else
# install required dependencies for derived tools, we do so manually to ensure the local one is used
if [ ${{ matrix.package }} == "perception/fall_detection" ]; then
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-pose-estimation-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-pose-estimation-*.tar.gz
elif [ ${{ matrix.package }} == "perception/heart_anomaly_detection" ]; then
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-compressive-learning-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-compressive-learning-*.tar.gz
elif [ ${{ matrix.package }} == "perception/multimodal_human_centric" ]; then
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-compressive-learning-*.tar.gz
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-object-detection-2d-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-compressive-learning-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-object-detection-2d-*.tar.gz
elif [ ${{ matrix.package }} == "perception/object_tracking_3d" ]; then
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-object-detection-3d-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-object-detection-3d-*.tar.gz
fi
# install the package itself
python3 -m pip install ./artifact/wheel-artifact/opendr-toolkit-$package-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-$package-*.tar.gz
fi
if [[ ${{ matrix.package }} == "perception/object_detection_2d/retinaface" ]]; then
cd src/opendr/perception/object_detection_2d/retinaface; make; cd $OPENDR_HOME
fi
Expand Down Expand Up @@ -401,9 +403,11 @@ jobs:
- control/mobile_manipulation
- control/single_demo_grasp
- planning/end_to_end_planning
- control/multi_object_search
# - control/multi_object_search # needs CUDA Docker container
runs-on: ubuntu-20.04
steps:
- name: Free Disk Space
uses: jlumbroso/free-disk-space@v1.2.0
- name: Download artifact
uses: actions/download-artifact@v2
with:
Expand Down
10 changes: 9 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
# OpenDR Toolkit Change Log

## Version 2.2.0
Released on May, 16th, 2023.

- Dependency Updates ([#431](https://github.com/opendr-eu/opendr/pull/431)):
- Updated PyTorch version from 1.9.0 to 1.13.1.
- Updated Torchvision version from 0.10.0 to 0.14.1.
- Updated Torchaudio version from 0.9.0 to 0.13.1.
- Downgraded wheel version to 0.38.4 due to bug in recent version.

## Version 2.1.0
Released on February, 22nd, 2023.

- New Features:
- Added YOLOv5 as an inference-only tool ([#360](https://github.com/opendr-eu/opendr/pull/360)).
- Added Efficient LiDAR Panoptic Segmentation ([#359](https://github.com/opendr-eu/opendr/pull/359)).
- Added Nanodet 2D Object Detection tool ([#352](https://github.com/opendr-eu/opendr/pull/352)).
- Added C API implementations of NanoDet 2D Object Detection tool ([#352](https://github.com/opendr-eu/opendr/pull/352)).
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# OpenDR Toolkit Reference Manual

*Release 2.1.0*
*Release 2.2.0*
<div align="center">
<img src="images/opendr_logo.png" />
</div>
Expand Down
12 changes: 6 additions & 6 deletions docs/reference/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,14 +106,14 @@ Note that `opendr-toolkit` is actually just a metapackage that includes all the
## CPU docker
After installing [docker](https://docs.docker.com/engine/install/ubuntu/), you can directly run the OpenDR image as:
```bash
sudo docker run -p 8888:8888 opendr/opendr-toolkit:cpu_v2.1.0
sudo docker run -p 8888:8888 opendr/opendr-toolkit:cpu_v2.2.0
```
The docker automatically runs a Jupyter notebook server that listens at port 8888.
When launched, you can access the Jupyter notebook by following the link provided in the console, it should be similar to [http://127.0.0.1:8888/?token=TOKEN](http://127.0.0.1:8888/?token=TOKEN). In order to stop the container, please quit the Jupyter notebook.

If you do not wish to use Jupyter, you can also experiment by starting an interactive session by running:
```bash
sudo docker run -it opendr/opendr-toolkit:cpu_v2.1.0 /bin/bash
sudo docker run -it opendr/opendr-toolkit:cpu_v2.2.0 /bin/bash
```
In this case, do not forget to enable the virtual environment with:
```bash
Expand All @@ -122,18 +122,18 @@ source bin/activate.sh
If you want to display GTK-based applications from the Docker container (e.g., visualize results using OpenCV `imshow()`), then you should mount the X server socket inside the container, e.g.,
```bash
xhost +local:root
sudo docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY opendr/opendr-toolkit:cpu_v2.1.0 /bin/bash
sudo docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY opendr/opendr-toolkit:cpu_v2.2.0 /bin/bash
```

## GPU docker
If you want to use a CUDA-enabled container please install [nvidia-docker](https://github.com/NVIDIA/nvidia-docker).
Then, you can directly run the latest image with the command:
```bash
sudo docker run --gpus all -p 8888:8888 opendr/opendr-toolkit:cuda_v2.1.0
sudo docker run --gpus all -p 8888:8888 opendr/opendr-toolkit:cuda_v2.2.0
```
or, for an interactive session:
```bash
sudo docker run --gpus all -it opendr/opendr-toolkit:cuda_v2.1.0 /bin/bash
sudo docker run --gpus all -it opendr/opendr-toolkit:cuda_v2.2.0 /bin/bash
```
In this case, do not forget to enable the virtual environment with:
```bash
Expand Down Expand Up @@ -249,4 +249,4 @@ To use the docker on an embedded device with a monitor and a usb camera attached
```
xhost +local:root
sudo docker run -it --privileged --network host -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DSIPLAY -v /dev/video0:/dev/video0 opendr/opendr-toolkit:nx_v2 /bin/bash
```
```
2 changes: 1 addition & 1 deletion projects/opendr_ws/src/opendr_bridge/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>opendr_bridge</name>
<version>2.1.0</version>
<version>2.2.0</version>
<description>OpenDR ROS bridge package. This package provides a way to translate ROS messages into OpenDR data types
and vice versa.
</description>
Expand Down
3 changes: 1 addition & 2 deletions projects/opendr_ws/src/opendr_data_generation/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>opendr_data_generation</name>
<version>2.1.0</version>
<version>2.2.0</version>
<description>OpenDR's ROS nodes for data generation package</description>
<maintainer email="tefas@csd.auth.gr">OpenDR Project Coordinator</maintainer>
<license>Apache License v2.0 </license>
Expand All @@ -22,4 +22,3 @@
<export>
</export>
</package>

3 changes: 1 addition & 2 deletions projects/opendr_ws/src/opendr_perception/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>opendr_perception</name>
<version>2.1.0</version>
<version>2.2.0</version>
<description>OpenDR's ROS nodes for perception package</description>
<maintainer email="tefas@csd.auth.gr">OpenDR Project Coordinator</maintainer>
<license>Apache License v2.0 </license>
Expand All @@ -25,4 +25,3 @@
<export>
</export>
</package>

2 changes: 1 addition & 1 deletion projects/opendr_ws/src/opendr_planning/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>opendr_planning</name>
<version>2.1.0</version>
<version>2.2.0</version>
<description>OpenDR's ROS planning package</description>
<maintainer email="tefas@csd.auth.gr">OpenDR Project Coordinator</maintainer>
<license>Apache License v2.0</license>
Expand Down
Loading

0 comments on commit 881fe7b

Please sign in to comment.