Skip to content

Commit c50b133

Browse files
authored
Add automatic nightly sanity check (#192)
* Add automatic nightly check * fix * Add badge * remove conditions * Remove develop badge * restore name
1 parent 83989cd commit c50b133

File tree

3 files changed

+122
-11
lines changed

3 files changed

+122
-11
lines changed

Diff for: .github/workflows/tests_sources.yml renamed to .github/workflows/tests_suite.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
name: Test Sources
1+
name: Test Suite (master)
22

33
on:
44
pull_request:
55
types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]
6+
schedule:
7+
- cron: '0 23 * * *'
68

79
defaults:
810
run:

Diff for: .github/workflows/tests_suite_develop.yml

+109
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
name: Test Suite (develop)
2+
3+
on:
4+
schedule:
5+
- cron: '0 23 * * *'
6+
7+
defaults:
8+
run:
9+
shell: bash
10+
11+
jobs:
12+
cleanup-runs:
13+
if: ${{ contains(github.event.pull_request.labels.*.name, 'test sources') || contains(github.event.pull_request.labels.*.name, 'test tools') }}
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: rokroskar/workflow-run-cleanup-action@master
17+
env:
18+
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
19+
test-sources:
20+
needs: cleanup-runs
21+
if: ${{ contains(github.event.pull_request.labels.*.name, 'test sources') }}
22+
strategy:
23+
matrix:
24+
os: [ubuntu-18.04, ubuntu-20.04, macos-10.15]
25+
include:
26+
- os: ubuntu-18.04
27+
DEPENDENCIES_INSTALLATION: "sudo apt -y install clang-format-10 cppcheck"
28+
- os: ubuntu-20.04
29+
DEPENDENCIES_INSTALLATION: "sudo apt -y install clang-format-10 cppcheck"
30+
- os: macos-10.15
31+
DEPENDENCIES_INSTALLATION: "brew install clang-format cppcheck"
32+
runs-on: ${{ matrix.os }}
33+
steps:
34+
- uses: actions/checkout@v2
35+
if: matrix.os == 'ubuntu-20.04' || github.event.pull_request.draft == false
36+
with:
37+
submodules: true
38+
ref: develop
39+
- name: Set up Python 3.8
40+
if: matrix.os == 'ubuntu-20.04' || github.event.pull_request.draft == false
41+
uses: actions/setup-python@v2
42+
with:
43+
python-version: 3.8
44+
- name: Test Sources
45+
if: matrix.os == 'ubuntu-20.04' || github.event.pull_request.draft == false
46+
run: |
47+
${{ matrix.DEPENDENCIES_INSTALLATION }}
48+
export OPENDR_HOME=$PWD
49+
export OPENDR_DEVICE=cpu
50+
pip install -r tests/requirements.txt
51+
python -m unittest discover -s tests
52+
test-tools:
53+
needs: cleanup-runs
54+
if: ${{ contains(github.event.pull_request.labels.*.name, 'test tools') }}
55+
strategy:
56+
matrix:
57+
os: [ubuntu-20.04]
58+
package:
59+
- engine
60+
- utils
61+
- perception/activity_recognition
62+
- perception/compressive_learning
63+
- perception/face_recognition
64+
- perception/heart_anomaly_detection
65+
- perception/multimodal_human_centric
66+
- perception/object_tracking_2d
67+
- perception/object_detection_3d
68+
- perception/pose_estimation
69+
- perception/speech_recognition
70+
- perception/skeleton_based_action_recognition
71+
- perception/semantic_segmentation
72+
- control/mobile_manipulation
73+
- perception/object_detection_2d
74+
- simulation/human_model_generation
75+
- perception/facial_expression_recognition/landmark_based_facial_expression_recognition
76+
- control/single_demo_grasp
77+
# - perception/object_tracking_3d
78+
include:
79+
- os: ubuntu-20.04
80+
DEPENDENCIES_INSTALLATION: "sudo sh -c 'echo \"deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main\" > /etc/apt/sources.list.d/ros-latest.list' \
81+
&& curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -"
82+
runs-on: ${{ matrix.os }}
83+
steps:
84+
- uses: actions/checkout@v2
85+
with:
86+
submodules: true
87+
ref: develop
88+
- name: Set up Python 3.8
89+
uses: actions/setup-python@v2
90+
with:
91+
python-version: 3.8
92+
- name: Test Tools
93+
if: ${{ contains(github.event.pull_request.labels.*.name, 'test tools') }}
94+
run: |
95+
${{ matrix.DEPENDENCIES_INSTALLATION }}
96+
export OPENDR_HOME=$PWD
97+
export OPENDR_DEVICE=cpu
98+
export PYTHONPATH=$OPENDR_HOME/src:$PYTHONPATH
99+
export DISABLE_BCOLZ_AVX2=true
100+
export ROS_DISTRO=noetic
101+
make install_compilation_dependencies
102+
make install_runtime_dependencies
103+
pip install -r tests/sources/requirements.txt
104+
if [ ${{ matrix.package }} = "ctests" ]; then
105+
make ctests
106+
else
107+
source tests/sources/tools/control/mobile_manipulation/run_ros.sh
108+
python -m unittest discover -s tests/sources/tools/${{ matrix.package }}
109+
fi

Diff for: README.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,28 @@ ______________________________________________________________________
88
<p align="center">
99
<a href="https://www.opendr.eu/">Website</a> •
1010
<a href="#about">About</a> •
11-
<a href="docs/reference/installation.md">Installation</a> •
11+
<a href="docs/reference/installation.md">Installation</a> •
1212
<a href="#using-opendr-toolkit">Using OpenDR toolkit</a> •
1313
<a href="projects">Examples</a> •
14-
<a href="#roadmap">Roadmap</a> •
14+
<a href="#roadmap">Roadmap</a> •
1515
<a href="LICENSE">License</a>
1616
</p>
1717

1818
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
19-
19+
[![Test Suite (master)](https://github.com/opendr-eu/opendr/actions/workflows/tests_suite.yml/badge.svg)](https://github.com/opendr-eu/opendr/actions/workflows/tests_suite.yml)
2020
</div>
2121

2222
## About
2323

24-
The aim of [OpenDR Project](https://opendr.eu) is to develop a **modular, open** and **non-proprietary toolkit** for core **robotic functionalities** by harnessing **deep learning** to provide advanced perception and cognition capabilities, meeting in this way the general requirements of robotics applications in the applications areas of healthcare, agri-food and agile production.
25-
OpenDR provides the means to link the **robotics applications to software libraries** (deep learning frameworks, e.g., [PyTorch](https://pytorch.org/) and [Tensorflow](https://www.tensorflow.org/)) to the **operating environment ([ROS](https://www.ros.org/))**.
24+
The aim of [OpenDR Project](https://opendr.eu) is to develop a **modular, open** and **non-proprietary toolkit** for core **robotic functionalities** by harnessing **deep learning** to provide advanced perception and cognition capabilities, meeting in this way the general requirements of robotics applications in the applications areas of healthcare, agri-food and agile production.
25+
OpenDR provides the means to link the **robotics applications to software libraries** (deep learning frameworks, e.g., [PyTorch](https://pytorch.org/) and [Tensorflow](https://www.tensorflow.org/)) to the **operating environment ([ROS](https://www.ros.org/))**.
2626
OpenDR focuses on the **AI and Cognition core technology** in order to provide tools that make robotic systems cognitive, giving them the ability to:
2727
1. interact with people and environments by developing deep learning methods for **human centric and environment active perception and cognition**,
28-
2. **learn and categorize** by developing deep learning **tools for training and inference in common robotics settings**, and
28+
2. **learn and categorize** by developing deep learning **tools for training and inference in common robotics settings**, and
2929
3. **make decisions and derive knowledge** by developing deep learning tools for cognitive robot action and decision making.
3030

31-
As a result, the developed OpenDR toolkit will also enable cooperative human-robot interaction as well as the development of cognitive mechatronics where sensing and actuation are closely coupled with cognitive systems thus contributing to another two core technologies beyond AI and Cognition.
32-
OpenDR aims to develop, train, deploy and evaluate deep learning models that improve the technical capabilities of the core technologies beyond the current state of the art.
31+
As a result, the developed OpenDR toolkit will also enable cooperative human-robot interaction as well as the development of cognitive mechatronics where sensing and actuation are closely coupled with cognitive systems thus contributing to another two core technologies beyond AI and Cognition.
32+
OpenDR aims to develop, train, deploy and evaluate deep learning models that improve the technical capabilities of the core technologies beyond the current state of the art.
3333

3434
## Installing OpenDR Toolkit
3535

@@ -42,7 +42,7 @@ You can find detailed installation instruction in the [documentation](docs/refer
4242

4343
## Using OpenDR toolkit
4444
OpenDR provides an intuitive and easy to use **[Python interface](src/opendr)**, a **[C API](src/c_api) for performance critical application**, a wealth of **[usage examples and supporting tools](projects)**, as well as **ready-to-use [ROS nodes](projects/opendr_ws)**.
45-
OpenDR is built to support [Webots Open Source Robot Simulator](https://cyberbotics.com/), while it also extensively follows industry standards, such as [ONNX model format](https://onnx.ai/) and [OpenAI Gym Interface](https://gym.openai.com/).
45+
OpenDR is built to support [Webots Open Source Robot Simulator](https://cyberbotics.com/), while it also extensively follows industry standards, such as [ONNX model format](https://onnx.ai/) and [OpenAI Gym Interface](https://gym.openai.com/).
4646
You can find detailed documentation in OpenDR [wiki](https://github.com/tasostefas/opendr_internal/wiki), as well as in the [tools index](docs/reference/index.md).
4747

4848
## Roadmap
@@ -52,7 +52,7 @@ OpenDR has the following roadmap:
5252
- **v3.0 (2023)**: Active perception-enabled deep learning tools for improved robotic perception
5353

5454
## How to contribute
55-
Please follow the instructions provided in the [wiki](https://github.com/tasostefas/opendr_internal/wiki).
55+
Please follow the instructions provided in the [wiki](https://github.com/tasostefas/opendr_internal/wiki).
5656

5757

5858
## Acknowledgments

0 commit comments

Comments
 (0)