Test Packages #5181
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test Packages | |
# This workflow tests the latest (third-party hosted) available builds | |
on: | |
pull_request: | |
types: [opened, reopened, synchronize, labeled, unlabeled] | |
schedule: | |
- cron: '0 23 * * *' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
test-wheel: | |
if: ${{ contains(github.event.pull_request.labels.*.name, 'test packages') }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-20.04] | |
package: | |
- engine | |
- utils | |
- perception/activity_recognition | |
- perception/compressive_learning | |
- perception/face_recognition | |
- perception/heart_anomaly_detection | |
- perception/multimodal_human_centric | |
- perception/pose_estimation | |
- perception/fall_detection | |
- perception/gesture_recognition | |
- perception/speech_recognition | |
- perception/skeleton_based_action_recognition/costgcn | |
- perception/skeleton_based_action_recognition/pstgcn | |
- perception/skeleton_based_action_recognition/stbln | |
- perception/skeleton_based_action_recognition/stgcn | |
- perception/skeleton_based_action_recognition/tagcn | |
- perception/semantic_segmentation | |
- perception/object_tracking_2d | |
# - perception/object_tracking_3d # passes, but disabled due to free() crash | |
- perception/object_tracking_3d/single_object_tracking | |
- perception/object_detection_2d/centernet | |
- perception/object_detection_2d/detr | |
# - perception/object_detection_2d/gem | |
- perception/object_detection_2d/ssd | |
- perception/object_detection_2d/nanodet | |
- perception/object_detection_2d/yolov3 | |
- perception/object_detection_2d/yolov5 | |
- perception/object_detection_2d/retinaface | |
- perception/object_detection_2d/nms | |
- perception/speech_transcription/vosk | |
- perception/speech_transcription/whisper | |
# - perception/object_detection_3d # passes, but disabled due to free() crash | |
- perception/facial_expression_recognition | |
- simulation/human_model_generation | |
# - control/mobile_manipulation # not supported in pip? | |
#- control/single_demo_grasp | |
#- planning/end_to_end_planning | |
# - control/multi_object_search # not supported in pip? | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Test Wheel | |
run: | | |
export DISABLE_BCOLZ_AVX2=true | |
sudo apt -y install python3.8-venv libfreetype6-dev git build-essential cmake python3-dev wget libopenblas-dev libsndfile1 libboost-dev libeigen3-dev ffmpeg | |
python3 -m venv venv | |
source venv/bin/activate | |
python3 -m pip install --upgrade pip | |
python3 -m pip install wheel==0.38.4 | |
python3 -m pip install opendr-toolkit-engine | |
python3 -m pip install opendr-toolkit | |
# Manually install the correct torch version to avoid failures | |
python3 -m pip install torch==1.13.1 | |
export OPENDR_HOME=`pwd` | |
# run the test | |
python3 -m unittest discover -s tests/sources/tools/${{ matrix.package }} | |
test-docker: | |
if: ${{ contains(github.event.pull_request.labels.*.name, 'test packages') || github.event_name == 'schedule' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-20.04] | |
package: | |
- engine | |
- utils | |
- perception/activity_recognition | |
- perception/compressive_learning | |
- perception/face_recognition | |
# - perception/heart_anomaly_detection # docker only issues, not affecting functionality | |
- perception/multimodal_human_centric | |
- perception/pose_estimation | |
- perception/fall_detection | |
- perception/gesture_recognition | |
- perception/speech_recognition | |
- perception/skeleton_based_action_recognition/costgcn | |
- perception/skeleton_based_action_recognition/pstgcn | |
- perception/skeleton_based_action_recognition/stbln | |
- perception/skeleton_based_action_recognition/stgcn | |
- perception/skeleton_based_action_recognition/tagcn | |
- perception/semantic_segmentation | |
- perception/object_tracking_2d | |
# - perception/object_tracking_3d # passes, but disabled due to free() crash | |
- perception/object_detection_2d/centernet | |
- perception/object_detection_2d/detr | |
# - perception/object_detection_2d/gem | |
- perception/object_detection_2d/ssd | |
- perception/object_detection_2d/nanodet | |
- perception/object_detection_2d/yolov3 | |
- perception/object_detection_2d/yolov5 | |
- perception/object_detection_2d/retinaface | |
- perception/object_detection_2d/nms | |
- perception/speech_transcription/vosk | |
- perception/speech_transcription/whisper | |
# - perception/object_detection_3d # passes, but disabled due to free() crash | |
- perception/facial_expression_recognition | |
- simulation/human_model_generation | |
# - control/mobile_manipulation | |
# - control/single_demo_grasp # disabled in the main suite, see #463 | |
# - planning/end_to_end_planning | |
# - control/multi_object_search | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Test Docker | |
run: | | |
docker run --name toolkit -i opendr/opendr-toolkit:cpu_v3.0.0 bash | |
docker start toolkit | |
# source tests/sources/tools/control/mobile_manipulation/run_ros.sh | |
docker exec -i toolkit bash -c "source bin/activate.sh && python3 -m unittest discover -s tests/sources/tools/${{ matrix.package }}" |