-
Notifications
You must be signed in to change notification settings - Fork 4
/
.travis.yml
116 lines (102 loc) · 4.53 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
language: cpp
dist: trusty
sudo: required
os:
- linux
- osx
compiler:
- gcc
- clang
matrix:
allow_failures:
- os: osx
env:
# avoid ALSA errors
- SDL_AUDIODRIVER=dummy
before_install:
#ubuntu dependencies
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo sh -c 'echo "deb http://www.icub.org/ubuntu precise contrib/science" > /etc/apt/sources.list.d/icub.list'; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo add-apt-repository -y ppa:kubuntu-ppa/backports; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo add-apt-repository -y ppa:robotology/ppa; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get update; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get install cmake; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get --force-yes install icub-common libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libzbar-dev; fi
#OS X dependencies
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then export XQUARTZ_VERSION=2.7.6;fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then curl -L -O http://xquartz.macosforge.org/downloads/SL/XQuartz-${XQUARTZ_VERSION}.dmg; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then hdiutil mount XQuartz-${XQUARTZ_VERSION}.dmg; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then sudo installer -store -pkg /Volumes/XQuartz-${XQUARTZ_VERSION}/XQuartz.pkg -target / ; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then hdiutil unmount /Volumes/XQuartz-${XQUARTZ_VERSION}; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install `brew deps --1 yarp | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g'`; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install cmake goocanvas sdl sdl_image sdl_mixer sdl_ttf gfortran; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install ode --enable-double-precision; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew tap homebrew/science; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install opencv; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install --with-qt3support qt; fi
#use the same set of cmake options used in the dashboard build
# - source ./admin/scripts/generate-cmake-options.sh # no special cmake options for now.
install:
#install yarp from master
- cd
- git clone --depth=1 --branch=master https://github.com/robotology/yarp
- cd yarp
- mkdir build
- cd build
- cmake ../ -DCREATE_OPTIONAL_CARRIERS:BOOL=ON -DENABLE_yarpcar_mjpeg:BOOL=ON
- make -j2
- sudo make install
# see http://gronlier.fr/blog/2015/01/adding-code-coverage-to-your-c-project/
- cd
- if [ "$CXX" = "g++" ]; then wget http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.11.orig.tar.gz; fi
- if [ "$CXX" = "g++" ]; then tar xf lcov_1.11.orig.tar.gz; fi
- if [ "$CXX" = "g++" ]; then sudo make -C lcov-1.11/ install; fi
- if [ "$CXX" = "g++" ]; then gem install coveralls-lcov; fi
before_script:
- cd $TRAVIS_BUILD_DIR
- mkdir build
- cd build
- cmake .. -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install
- cmake --build . --target install
- export YARP_DATA_DIRS=$YARP_DATA_DIRS:$PWD/install/share/rd
# SDL stuff
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- sleep 3 # give xvfb some time to start
script:
- bin/testDeadState
- bin/testFSMBuilder
- bin/testFSM
- bin/testGameState
- bin/testInitState
- bin/testMentalMap
- bin/testMockAudioManager
- bin/testMockInputManager
- bin/testMockRobotManager
- bin/testProcessorImageEventListener
- bin/testYarpNetworkManager
- bin/testSDLAudioManager
- bin/testRobotDevastation
after_success:
# - cd $TRAVIS_BUILD_DIR
# capture coverage info
- if [ "$CXX" = "g++" ]; then lcov --directory . --capture --output-file coverage.info; fi
# filter out system and test code
- if [ "$CXX" = "g++" ]; then lcov --remove coverage.info '/usr/*' 'test/*' --output-file coverage.info; fi
# debug before upload
- if [ "$CXX" = "g++" ]; then lcov --list coverage.info; fi
# uploads to coveralls
#- if [ "$CXX" = "g++" ]; then coveralls-lcov --source-encoding=ISO-8859-1 --repo-token InWqFy6VWMrEUzr2Rn8XV0cGqv3wXWo2d coverage.info; fi
- if [ "$CXX" = "g++" ]; then coveralls-lcov --source-encoding=ISO-8859-1 coverage.info; fi
before_deploy:
- cd install
- tar -zcvf robotDevastation_travis-${TRAVIS_BUILD_NUMBER}_trusty_x64.tar.gz *
deploy:
provider: releases
api_key:
secure: DORjZTWdhauq/l3s+pQj0ywjtkKxb00YNy9Tj3RH5+4I8/aRF2u6nFP61tnLUEEzz6GcEDp/lyIOtbuOI+hKO2M4Nq2stI++8FNvPjA8sdmNGXm3w2yIQFY+wFwZyLcn9y3l/7I8FeiQnfFk47/vHfy5DrdsqOr3Z6Ub7xINpKM=
file_glob: true
file: '*.tar.gz'
skip_cleanup: true
on:
tags: true
condition: $CXX = g++