diff --git a/.github/workflows/publisher.yml b/.github/workflows/publisher.yml index 0f30b75b7d..f35f2bd2da 100644 --- a/.github/workflows/publisher.yml +++ b/.github/workflows/publisher.yml @@ -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 @@ -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 }} @@ -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 }} diff --git a/.github/workflows/test_packages.yml b/.github/workflows/test_packages.yml index 3a13dd4521..f5c3ff2468 100644 --- a/.github/workflows/test_packages.yml +++ b/.github/workflows/test_packages.yml @@ -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 }}" diff --git a/.github/workflows/tests_suite.yml b/.github/workflows/tests_suite.yml index 13c5c6521c..95ab60c122 100644 --- a/.github/workflows/tests_suite.yml +++ b/.github/workflows/tests_suite.yml @@ -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 . @@ -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 @@ -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: @@ -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 @@ -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 @@ -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: diff --git a/.github/workflows/tests_suite_develop.yml b/.github/workflows/tests_suite_develop.yml index 84910016be..40ef3f7358 100644 --- a/.github/workflows/tests_suite_develop.yml +++ b/.github/workflows/tests_suite_develop.yml @@ -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 . @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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: diff --git a/CHANGELOG.md b/CHANGELOG.md index bdf99fff80..169383c7fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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)). diff --git a/docs/reference/index.md b/docs/reference/index.md index 300a9693c2..62101a63f8 100644 --- a/docs/reference/index.md +++ b/docs/reference/index.md @@ -1,6 +1,6 @@ # OpenDR Toolkit Reference Manual -*Release 2.1.0* +*Release 2.2.0*