-
Notifications
You must be signed in to change notification settings - Fork 14
/
.travis.yml
120 lines (99 loc) · 3.68 KB
/
.travis.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
language: cpp
dist: bionic
os: linux
compiler:
- gcc
- clang
env:
global:
- CACHE_DIR=~/cached-deps
- YCM_CHECKOUT=ycm-0.11
jobs:
- YARP_CHECKOUT=yarp-3.4
- YARP_CHECKOUT=yarp-3.3
jobs:
include:
- if: type = cron
compiler: gcc
env: ROBOTOLOGY_CHECKOUT=master
- if: type = cron
compiler: clang
env: ROBOTOLOGY_CHECKOUT=master
cache:
directories: $CACHE_DIR
addons:
apt:
packages:
- libboost-thread-dev # AMOR API
- libeigen3-dev # AMOR API and YARP
- libgtest-dev # unit testing
- lcov # code coverage
before_install:
#-- Register SSH deploy key for AMOR API private repository
- source "$TRAVIS_BUILD_DIR/scripts/travis/configure-ssh.sh"
#-- Code coverage
- if [ "$CXX" = "g++" ]; then gem install coveralls-lcov; fi
install:
#-- Install YCM
- >
source "$TRAVIS_BUILD_DIR/scripts/travis/git-cache-dependency.sh"
--package-name YCM
--repo-url https://github.com/robotology/ycm
--repo-checkout "${ROBOTOLOGY_CHECKOUT:-$YCM_CHECKOUT}"
#-- Install YARP
- >
source "$TRAVIS_BUILD_DIR/scripts/travis/git-cache-dependency.sh"
--package-name YARP
--repo-url https://github.com/robotology/yarp
--repo-checkout "${ROBOTOLOGY_CHECKOUT:-$YARP_CHECKOUT}"
--additional-cmake-options "-DSKIP_ACE:BOOL=ON"
--prepend-to-linker-path lib
--additional-export-paths "YARP_DATA_DIRS;share/yarp"
#-- Install KDL
- >
source "$TRAVIS_BUILD_DIR/scripts/travis/git-cache-dependency.sh"
--package-name KDL
--repo-url https://github.com/orocos/orocos_kinematics_dynamics
--repo-checkout master
--cmake-home-dir orocos_kdl
--prepend-to-linker-path lib
#-- Install color-debug
- >
source "$TRAVIS_BUILD_DIR/scripts/travis/git-cache-dependency.sh"
--package-name COLOR_DEBUG
--repo-url https://github.com/roboticslab-uc3m/color-debug
--repo-checkout develop
#-- Install AMOR API (for AmorCartesianControl)
- >
source "$TRAVIS_BUILD_DIR/scripts/travis/git-cache-dependency.sh"
--package-name AMOR_API
--repo-url git@github.com:roboticslab-uc3m/amor-api
--repo-checkout develop
--additional-cmake-options "-DENABLE_udev_rules:BOOL=OFF"
--prepend-to-linker-path lib
#-- Install yarp-devices (for testBasicCartesianControl and apps using proximity sensors)
- >
source "$TRAVIS_BUILD_DIR/scripts/travis/git-cache-dependency.sh"
--package-name ROBOTICSLAB_YARP_DEVICES
--repo-url https://github.com/roboticslab-uc3m/yarp-devices
--repo-checkout develop
--additional-export-paths "YARP_DATA_DIRS;share/roboticslab-yarp-devices"
before_script:
- mkdir -p "$TRAVIS_BUILD_DIR/build" && cd "$_"
- cmake .. -DCMAKE_INSTALL_PREFIX="$PWD/install" -DENABLE_coverage:BOOL=ON
- make install
- export LD_LIBRARY_PATH="$PWD/install/lib:$LD_LIBRARY_PATH"
- export YARP_DATA_DIRS="$PWD/install/share/roboticslab-kinematics-dynamics:$YARP_DATA_DIRS"
- export CMAKE_PREFIX_PATH="$PWD/install/lib/cmake/ROBOTICSLAB_KINEMATICS_DYNAMICS:$CMAKE_PREFIX_PATH"
- mkdir -p "$TRAVIS_BUILD_DIR/build/exampleCartesianControlClient" && cd "$_"
- cmake "$TRAVIS_BUILD_DIR/examples/cpp/exampleCartesianControlClient" && make
- mkdir -p "$TRAVIS_BUILD_DIR/build/exampleScrewTheoryTrajectory" && cd "$_"
- cmake "$TRAVIS_BUILD_DIR/examples/cpp/exampleScrewTheoryTrajectory" && make
- mkdir -p "$TRAVIS_BUILD_DIR/build/exampleYarpTinyMath" && cd "$_"
- cmake "$TRAVIS_BUILD_DIR/examples/cpp/exampleYarpTinyMath" && make
script:
- cd "$TRAVIS_BUILD_DIR/build/tests" && ctest -V
after_success:
#-- Code coverage
- if [ "$CXX" = "g++" ]; then source "$TRAVIS_BUILD_DIR/scripts/travis/coverage.sh"; fi
- cd "$TRAVIS_BUILD_DIR/build" && make uninstall