-
Notifications
You must be signed in to change notification settings - Fork 97
/
.travis.yml
62 lines (62 loc) · 3.77 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
sudo: true
dist: bionic
language: python
services:
- docker
addons:
apt:
packages:
- 2to3
cache:
apt: true
pip: true
directories:
- $HOME/.ccache
- $HOME/.cache/pip
- $HOME/apt-cacher-ng
- $HOME/.ros/data
notifications:
email:
on_success: always
on_failure: always
slack: jsk-robotics:Av7tc8wj3IWkLYvlTzHE7x2g
env:
global:
- USE_TRAVIS=true
- USE_DOCKER=true
- ROS_PARALLEL_JOBS="-j2"
- CATKIN_PARALLEL_JOBS="-p2"
- ROS_PARALLEL_TEST_JOBS="-j1"
- CATKIN_PARALLEL_TEST_JOBS="-p1"
- NOT_TEST_INSTALL=true
matrix:
- CHECK_PYTHON3_COMPILE=true
- CHECK_PYTHON2_COMPILE=true
- ROS_DISTRO=hydro USE_DEB=true
- ROS_DISTRO=hydro USE_DEB=false EXTRA_DEB="ros-hydro-convex-decomposition ros-hydro-ivcon" BUILD_PKGS="jsk_pr2_calibration jsk_robot_startup pr2_base_trajectory_action jsk_pr2_startup jsk_pr2_desktop"
- ROS_DISTRO=indigo USE_DEB=true TEST_PKGS="jsk_robot_startup" # app_manager required to pass jsk_fetch test, so this job mainly test if we can build sources
- ROS_DISTRO=indigo USE_DEB=false EXTRA_DEB="ros-indigo-convex-decomposition ros-indigo-ivcon"
- ROS_DISTRO=kinetic USE_DEB=true
- ROS_DISTRO=kinetic USE_DEB=true TEST_PKGS="jsk_robot_startup" # app_manager required to pass jsk_fetch test, so this job mainly test if we can build sources
- ROS_DISTRO=kinetic USE_DEB=false EXTRA_DEB="ros-kinetic-convex-decomposition ros-kinetic-ivcon"
- ROS_DISTRO=melodic USE_DEB=true
- ROS_DISTRO=melodic USE_DEB=true TEST_PKGS="jsk_robot_startup" EXTRA_DEB="libmongoclient-dev"
- ROS_DISTRO=melodic USE_DEB=false
matrix:
fast_finish: true
allow_failures:
- env: ROS_DISTRO=hydro USE_DEB=false EXTRA_DEB="ros-hydro-convex-decomposition ros-hydro-ivcon" BUILD_PKGS="jsk_pr2_calibration jsk_robot_startup pr2_base_trajectory_action jsk_pr2_startup jsk_pr2_desktop"
- env: ROS_DISTRO=kinetic USE_DEB=true
- env: ROS_DISTRO=melodic USE_DEB=true
before_script:
# to install pepper_meshes, nao_meshes, the licenses have to be accepted
- if [ "$ROS_DISTRO" == "indigo" ]; then export BEFORE_SCRIPT="echo \"ros-indigo-pepper-meshes ros-pepper-meshes/accepted-ros-pepper-meshes boolean true\" | sudo debconf-set-selections; sudo apt-get install -y -qq ros-$ROS_DISTRO-pepper-meshes"; fi
- if [ "$ROS_DISTRO" == "indigo" ]; then export BEFORE_SCRIPT="echo \"ros-indigo-nao-meshes ros-nao-meshes/accepted-ros-nao-meshes boolean true\" | sudo debconf-set-selections; sudo apt-get install -y -qq ros-$ROS_DISTRO-nao-meshes"; fi
- if [ "$ROS_DISTRO" == "kinetic" ]; then export BEFORE_SCRIPT="wstool merge jsk_robot/jsk_fetch_robot/jsk_fetch_user.rosinstall.kinetic; wstool update"; fi
- if [ "$ROS_DISTRO" == "melodic" ]; then export BEFORE_SCRIPT="pwd; ls -al ; ls -al jsk_robot/; ls -al jsk_robot/.travis.rosinstall.melodic; wstool merge jsk_robot/.travis.rosinstall.melodic; wstool update"; fi
# skip running postinst for ros-ROS_DISTRO-julius https://gist.github.com/jordansissel/748313#file-stripdeb-sh
- export BEFORE_SCRIPT="apt-get download ros-$ROS_DISTRO-julius; wget -O stripdeb.sh https://gist.githubusercontent.com/jordansissel/748313/raw/8aebce360bc082e33af7bba3c90f755eb655783b/stripdeb.sh; bash stripdeb.sh ros-$ROS_DISTRO-julius*.deb; sudo dpkg --force-all -i ros-$ROS_DISTRO-julius*.deb; sudo apt-get -y -f install; sudo apt-mark hold ros-$ROS_DISTRO-julius; $BEFORE_SCRIPT"
script:
- if [ "${CHECK_PYTHON3_COMPILE}" == "true" ]; then bash -c "ret=0; trap 'ret=1' ERR; python3 -m compileall .; 2to3 -w -f except -f execfile -f has_key -f import -f raw_input -f zip .; git diff --exit-code . :^.travis > /dev/null; echo Exitting with \$ret; exit \$ret"; exit $?; fi
- if [ "${CHECK_PYTHON2_COMPILE}" == "true" ]; then python2 -m compileall .; exit $?; fi
- source .travis/travis.sh