-
Notifications
You must be signed in to change notification settings - Fork 52
/
.travis.yml
89 lines (89 loc) · 8.88 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
# Travis Continuous Integration Configuration File, based on ..
# Generic MoveIt Travis Continuous Integration Configuration File
# Works with all MoveIt! repositories/branches
# Author: Dave Coleman, Jonathan Bohren
sudo: true
dist: bionic
language: python
services:
- docker
cache:
apt: true
pip: true
directories:
- $HOME/.ccache
- $HOME/.cache/pip
- $HOME/apt-cacher-ng
env:
global:
- ROSWS=wstool
- BUILDER=catkin
- CATKIN_PARALLEL_JOBS='-p2'
- CATKIN_PARALLEL_TEST_JOBS='-p1'
- ROS_PARALLEL_TEST_JOBS='-j1'
- ADDITIONAL_ENV_TO_DOCKER='IS_EUSLISP_TRAVIS_TEST'
- secure: "QxLoOR83QHxGdMJ3BJ0TwRJdezWZaiWfoe4O88XMSG8LFMZLRbqNmOsrLn9b/VgMQpz44CP7tXXQvNz0FDRSTpgSdyNT+p1UA7iEhFYI4G3OEsYf0r6/4rjvtM7FCoIsBiPYBwofVAUP+U9d8Scjn+2+xjjKwOpEbaE/yc+zwrc="
matrix:
- USE_JENKINS=true ROS_DISTRO=hydro USE_DEB=true
- USE_JENKINS=true ROS_DISTRO=hydro USE_DEB=false NOT_TEST_INSTALL=true
- USE_JENKINS=true ROS_DISTRO=hydro USE_DEB=true EXTRA_DEB="ros-hydro-hrpsys-ros-bridge ros-hydro-pr2eus" ROS_PARALLEL_JOBS="-j1 -l1" NOT_TEST_INSTALL=true IS_EUSLISP_TRAVIS_TEST="true"
- USE_JENKINS=true ROS_DISTRO=hydro USE_DEB=false EXTRA_DEB="ros-hydro-hrpsys-ros-bridge ros-hydro-pr2eus" ROS_PARALLEL_JOBS="-j1 -l1" NOT_TEST_INSTALL=true IS_EUSLISP_TRAVIS_TEST="true"
- USE_TRAVIS=true ROS_DISTRO=indigo USE_DEB=true
- USE_TRAVIS=true ROS_DISTRO=indigo USE_DEB=false NOT_TEST_INSTALL=true
- USE_TRAVIS=true ROS_DISTRO=indigo USE_DEB=true EXTRA_DEB="ros-indigo-hrpsys-ros-bridge ros-indigo-pr2eus" NOT_TEST_INSTALL=true TEST_PKGS="hrpsys_ros_bridge" IS_EUSLISP_TRAVIS_TEST=true
- USE_JENKINS=true ROS_DISTRO=indigo USE_DEB=false EXTRA_DEB="ros-indigo-hrpsys-ros-bridge ros-indigo-pr2eus" NOT_TEST_INSTALL=true TEST_PKGS="hrpsys_ros_bridge" IS_EUSLISP_TRAVIS_TEST=true
- USE_TRAVIS=true TEST_TYPE=work_with_downstream TEST_PACKAGE=hironx-ros-bridge ROS_DISTRO=indigo EXTRA_DEB="ros-indigo-roslint" DOCKER_IMAGE=ubuntu:trusty
- USE_TRAVIS=true TEST_TYPE=work_with_315_1_10 TEST_PACKAGE=hironx-ros-bridge ROS_DISTRO=indigo EXTRA_DEB="ros-indigo-roslint" DOCKER_IMAGE=ubuntu:trusty
- USE_TRAVIS=true ROS_DISTRO=indigo USE_DEB=true EXTRA_DEB="ros-indigo-pr2eus" NOT_TEST_INSTALL=true IS_EUSLISP_TRAVIS_TEST=false # For updating euslisp-docs (Must be USE_TRAVIS=true and IS_EUSLISP_TRAVIS_TEST=false. See after_success)
- USE_JENKINS=true ROS_DISTRO=kinetic USE_DEB=true
- USE_JENKINS=true ROS_DISTRO=kinetic USE_DEB=false NOT_TEST_INSTALL=true
- USE_JENKINS=true ROS_DISTRO=kinetic USE_DEB=false EXTRA_DEB="libopenni2-dev libpcl-dev" NOT_TEST_INSTALL=true # To catch https://github.com/start-jsk/rtmros_common/pull/1090#issuecomment-610860446
- USE_JENKINS=true ROS_DISTRO=kinetic USE_DEB=true EXTRA_DEB="ros-kinetic-hrpsys-ros-bridge ros-kinetic-pr2eus" NOT_TEST_INSTALL=true TEST_PKGS="hrpsys_ros_bridge" IS_EUSLISP_TRAVIS_TEST=true
- USE_JENKINS=true ROS_DISTRO=kinetic USE_DEB=false EXTRA_DEB="ros-kinetic-hrpsys-ros-bridge ros-kinetic-pr2eus" NOT_TEST_INSTALL=true TEST_PKGS="hrpsys_ros_bridge" IS_EUSLISP_TRAVIS_TEST=true
- USE_JENKINS=true ROS_DISTRO=melodic USE_DEB=true
- USE_JENKINS=true ROS_DISTRO=melodic USE_DEB=false NOT_TEST_INSTALL=true BEFORE_SCRIPT="pwd; sed -i \"35iadd_definitions(-Wno-deprecated)\" hrpsys/CMakeLists.txt openhrp3/CMakeLists.txt; (cd hrpsys; git diff)"
matrix:
fast_finish: true
allow_failures:
# hydro + euslisp test
- env: USE_JENKINS=true ROS_DISTRO=hydro USE_DEB=true EXTRA_DEB="ros-hydro-hrpsys-ros-bridge ros-hydro-pr2eus" ROS_PARALLEL_JOBS="-j1 -l1" NOT_TEST_INSTALL=true IS_EUSLISP_TRAVIS_TEST="true"
- env: USE_JENKINS=true ROS_DISTRO=hydro USE_DEB=false EXTRA_DEB="ros-hydro-hrpsys-ros-bridge ros-hydro-pr2eus" ROS_PARALLEL_JOBS="-j1 -l1" NOT_TEST_INSTALL=true IS_EUSLISP_TRAVIS_TEST="true"
# Running euslisp test on travis often takes more than 50 min
- env: USE_TRAVIS=true ROS_DISTRO=indigo USE_DEB=true EXTRA_DEB="ros-indigo-hrpsys-ros-bridge ros-indigo-pr2eus" NOT_TEST_INSTALL=true TEST_PKGS="hrpsys_ros_bridge" IS_EUSLISP_TRAVIS_TEST=true
notifications:
email:
recipients:
on_success: always #[always|never|change] # default: change
on_failure: always #[always|never|change] # default: always
before_script:
- set -x
- if [ "${USE_TRAVIS}" == "true" ]; then export USE_DOCKER=true; fi
# Install libopencv-dev manually to compile hrpsys-simulator in hrpsys-base on kinetic
# Details: https://github.com/start-jsk/rtmros_common/pull/1091#issuecomment-611457804
# https://github.com/start-jsk/rtmros_common/pull/1091#issuecomment-611476618
# Waiting for .travis.rosinstall.kinetic to use hrpsys-release
- if [ "${ROS_DISTRO}" == "kinetic" ] && [ "${USE_DEB}" != "true" ] ; then if [ "${EXTRA_DEB}" == "" ] ; then export EXTRA_DEB="libopencv-dev"; else export EXTRA_DEB="${EXTRA_DEB} libopencv-dev"; fi; fi
# Forcely upgrade PCRE to avoid failure in building hrpsys with hydro.
# This has a side effect, and we need extra settings.
# Issue detail: https://github.com/start-jsk/rtmros_common/issues/1076
# .deb can be got from https://pkgs.org (e.g., https://pkgs.org/download/libpcre3)
# libpcre3-dev requires the same version of libpcrecpp0
- if [ "${ROS_DISTRO}" == "hydro" ] && [ "${USE_DEB}" != "true" ] ; then add_scr="wget archive.ubuntu.com/ubuntu/pool/main/p/pcre3/libpcre3_8.31-2ubuntu2_amd64.deb; wget archive.ubuntu.com/ubuntu/pool/main/p/pcre3/libpcrecpp0_8.31-2ubuntu2_amd64.deb; wget archive.ubuntu.com/ubuntu/pool/main/p/pcre3/libpcre3-dev_8.31-2ubuntu2_amd64.deb; sudo dpkg -i libpcre3_8.31-2ubuntu2_amd64.deb; sudo dpkg -i libpcrecpp0_8.31-2ubuntu2_amd64.deb; sudo dpkg -i libpcre3-dev_8.31-2ubuntu2_amd64.deb; sudo apt-mark hold libpcre3 libpcrecpp0 libpcre3-dev"; if [ "${BEFORE_SCRIPT}" == "" ] ; then export BEFORE_SCRIPT=${add_scr}; else export BEFORE_SCRIPT="${BEFORE_SCRIPT}; ${add_scr}"; fi; fi
# Forcely upgrading PCRE makes hrpsys_state_publisher dies:
# https://github.com/start-jsk/rtmros_common/pull/1077#issuecomment-552102475
# To avoid this, the following PRs are required:
# https://github.com/ros/robot_model/pull/105, https://github.com/ros/robot_model/pull/106, https://github.com/ros/robot_model/pull/108
# Also, see https://github.com/start-jsk/rtmros_common/pull/1077#issuecomment-552121026
- if [ "${ROS_DISTRO}" == "hydro" ] && [ "${USE_DEB}" != "true" ] ; then export BEFORE_SCRIPT="${BEFORE_SCRIPT}; wstool set -y robot_model --git https://github.com/pazeshun/robot_model.git -v for-hydro-with-new-pcre; wstool update"; export ROSDEP_ADDITIONAL_OPTIONS="-n -q -r --ignore-src --skip-keys=liburdfdom-dev --skip-keys=liburdfdom-headers-dev"; fi
script:
- if [ "${IS_EUSLISP_TRAVIS_TEST}" != "true" ] ; then export ROS_PARALLEL_JOBS="-j2 -l2" ; fi
- if [ "${ROS_DISTRO}" == "hydro" ] ; then sudo apt-get install -y --force-yes gdebi && wget https://bintray.com/artifact/download/furushchev/ros-shadow-fixed/python-catkin-tools_0.3.1-1_all.deb && wget https://bintray.com/artifact/download/furushchev/ros-shadow-fixed/python-catkin-pkg_0.2.10-1_all.deb && sudo gdebi -n -q python-catkin-pkg_0.2.10-1_all.deb && sudo gdebi -n -q python-catkin-tools_0.3.1-1_all.deb && sudo apt-mark hold python-catkin-tools; fi
- if [ "${TEST_TYPE}" == "" ] ; then source .travis/travis.sh; else docker pull $DOCKER_IMAGE || true; export CI_SOURCE_PATH=$(pwd); docker run -v $HOME:$HOME -v $HOME/.ccache:$HOME/.ccache/ -v $HOME/.cache/pip:$HOME/.cache/pip/ $DOCKER_XSERVER_OPTIONS -e TRAVIS_BRANCH -e TRAVIS_COMMIT -e TRAVIS_JOB_ID -e TRAVIS_OS_NAME -e TRAVIS_PULL_REQUEST -e TRAVIS_REPO_SLUG -e GITHUB_RUN_ID -e CI_SOURCE_PATH -e HOME -e REPOSITORY_NAME -e BUILD_PKGS -e TARGET_PKGS -e TEST_PKGS -e BEFORE_SCRIPT -e BUILDER -e EXTRA_DEB -e USE_DEB -e ROS_DISTRO -e ROS_LOG_DIR -e ROS_REPOSITORY_PATH -e ROSWS -e CATKIN_TOOLS_BUILD_OPTIONS -e CATKIN_TOOLS_CONFIG_OPTIONS -e CATKIN_PARALLEL_JOBS -e CATKIN_PARALLEL_TEST_JOBS -e ROS_PARALLEL_JOBS -e ROS_PARALLEL_TEST_JOBS -e ROS_PYTHON_VERSION -e ROSDEP_ADDITIONAL_OPTIONS -e ROSDEP_UPDATE_QUIET -e SUDO_PIP -e USE_PYTHON_VIRTUALENV -e NOT_TEST_INSTALL -e DEBUG_TRAVIS_PYTHON -e TEST_PACKAGE -e TEST_TYPE -t $DOCKER_IMAGE bash -c 'cd $CI_SOURCE_PATH; source ./.travis_test.sh' ; fi
- ccache -s
after_success:
- if [ "${TRAVIS_SECURE_ENV_VARS}" == "true" ]; then cd ${TRAVIS_BUILD_DIR}; openssl aes-256-cbc -K $encrypted_b79fc5843df3_key -iv $encrypted_b79fc5843df3_iv -in .secrets.tar.enc -out .secrets.tar -d; tar -C ~/ -xvf .secrets.tar; fi
# upload-docs.sh in after_success works only when jenkins is not used, because it assumes ~/ros/ws_rtmros_common/build exists on travis:
# https://github.com/jsk-ros-pkg/jsk_travis/blob/0.5.7/upload-docs.sh#L11
- if [ "${TRAVIS_BRANCH}" == "master" -a "${TRAVIS_SECURE_ENV_VARS}" == "true" -a "${USE_TRAVIS}" == "true" -a "${IS_EUSLISP_TRAVIS_TEST}" == "false" ]; then cd ${TRAVIS_BUILD_DIR}; .travis/upload-docs.sh; fi