-
Notifications
You must be signed in to change notification settings - Fork 95
142 lines (137 loc) · 5.89 KB
/
test_packages.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
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 }}"