-
Notifications
You must be signed in to change notification settings - Fork 189
/
.travis.yml
72 lines (72 loc) · 4.65 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
sudo: true
dist: bionic
language: python
addons:
apt:
packages:
- 2to3
cache:
apt: true
pip: true
directories:
- $HOME/.ccache
- $HOME/.cache/pip
- $HOME/apt-cacher-ng
- $HOME/.ros/data
python:
- "2.7"
compiler:
- gcc
services:
- docker
notifications:
email:
on_success: always
on_failure: always
slack: jsk-robotics:Av7tc8wj3IWkLYvlTzHE7x2g
env:
global:
- ROS_PARALLEL_JOBS="-j8"
- CATKIN_PARALLEL_TEST_JOBS="-p1 -j8"
- NOT_TEST_INSTALL=true
- USE_JENKINS=true
- USE_DEB=true
- ROSDEP_ADDITIONAL_OPTIONS='-n -r -v --ignore-src' # run rosdep without -q
matrix:
- CHECK_PYTHON3_COMPILE=true
- CHECK_PYTHON2_COMPILE=true
- ROS_DISTRO=melodic DOCKER_IMAGE_JENKINS="ros-ubuntu:18.04-base" BEFORE_SCRIPT="sudo pip uninstall -y fcn chainer chainercv decorator cupy-cuda91; sudo ln -sf /bin/echo /usr/local/bin/pip; sudo ln -sf /bin/echo /usr/local/bin/pip2" TEST_PKGS="jsk_recognition_msgs" # check https://github.com/jsk-ros-pkg/jsk_recognition/pull/2533
- ROS_DISTRO=indigo
- ROS_DISTRO=indigo CATKIN_TOOLS_CONFIG_OPTIONS="--install" TEST_PKGS='jsk_recognition_msgs' # to skip test
- ROS_DISTRO=indigo ROS_REPOSITORY_PATH="http://packages.ros.org/ros/ubuntu"
- ROS_DISTRO=indigo BEFORE_SCRIPT='$CI_SOURCE_PATH/.travis_before_script_opencv3.bash' BUILD_PKGS='checkerboard_detector imagesift jsk_perception jsk_recognition_utils resized_image_transport'
- ROS_DISTRO=indigo BEFORE_SCRIPT='$CI_SOURCE_PATH/.travis_before_script_pcl1.8.bash' BUILD_PKGS='jsk_pcl_ros_utils jsk_pcl_ros' DOCKER_IMAGE_JENKINS='ros-ubuntu:14.04-pcl1.8'
- ROS_DISTRO=kinetic BUILD_PKGS='checkerboard_detector imagesift jsk_perception jsk_recognition_utils resized_image_transport'
- ROS_DISTRO=kinetic BUILD_PKGS='jsk_pcl_ros_utils jsk_pcl_ros'
- ROS_DISTRO=melodic BUILD_PKGS='checkerboard_detector imagesift jsk_perception jsk_recognition_utils resized_image_transport'
- ROS_DISTRO=melodic BUILD_PKGS='jsk_pcl_ros_utils jsk_pcl_ros'
- ROS_DISTRO=noetic BUILD_PKGS='checkerboard_detector imagesift jsk_perception jsk_recognition_utils resized_image_transport' TEST_PKGS='jsk_recognition_msgs' # to skip test
- ROS_DISTRO=noetic BUILD_PKGS='jsk_pcl_ros_utils jsk_pcl_ros' TEST_PKGS='jsk_recognition_msgs' # to skip test
before_script:
- if [[ "$ROS_DISTRO" == "indigo" && "$DOCKER_IMAGE_JENKINS" == "" ]]; then export export DOCKER_IMAGE_JENKINS='ros-ubuntu:14.04-pcl'; fi
- if [[ "$ROS_DISTRO" == "kinetic" && "$DOCKER_IMAGE_JENKINS" == "" ]]; then export export DOCKER_IMAGE_JENKINS='ros-ubuntu:16.04-pcl'; fi
- if [[ "$ROS_DISTRO" == "melodic" && "$DOCKER_IMAGE_JENKINS" == "" ]]; then export export DOCKER_IMAGE_JENKINS='ros-ubuntu:18.04-pcl'; fi
- if [[ "$ROS_DISTRO" == "noetic" && "$DOCKER_IMAGE_JENKINS" == "" ]]; then export export DOCKER_IMAGE_JENKINS='ros-ubuntu:20.04-pcl'; fi
script:
- if [ "${CHECK_PYTHON2_COMPILE}" == "true" ]; then python2 -m compileall .; exit $?; fi
- 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
# use https://github.com/ros-infrastructure/rosdep/pull/694 to respect version_lt for python pip, some package requries python3
- export BEFORE_SCRIPT="sudo pip install numpy==1.16.6; sudo pip install fcn chainercv chainer-mask-rcnn==0.3.0 decorator==4.4.2 chainer==6.7.0 cupy-cuda91; $BEFORE_SCRIPT"
# gdown depends on requests[socks]. This line can be removed if https://github.com/wkentaro/gdown/pull/89 is released.
- if [ "$ROS_DISTRO" == "indigo" ]; then export BEFORE_SCRIPT="sudo pip install requests[socks]==2.25.1; $BEFORE_SCRIPT"; fi
- if [[ "$ROS_DISTRO" == "kinetic" && "$ROS_DISTRO" == "melodic" ]]; then export BEFORE_SCRIPT="sudo apt-get install -y patchutils; curl -sL https://patch-diff.githubusercontent.com/raw/ros-infrastructure/rosdep/pull/753.diff | sudo patch -d /usr/lib/python2.7/dist-packages/ -p2; curl -sL https://patch-diff.githubusercontent.com/raw/ros-infrastructure/rosdep/pull/694.diff | filterdiff --exclude='a/test/*' | sudo patch -d /usr/lib/python2.7/dist-packages/ -p2; $BEFORE_SCRIPT"; fi
- .travis/travis.sh
- which virtualenv 2>/dev/null || pip3 install --user virtualenv
- (cd $TRAVIS_BUILD_DIR/doc && source setup.sh && make html)
after_success:
# trigger build of jsk-docs.readthedocs.org
- curl -X POST -d "branches=master" -d "token=da477cb4ef53d533aeb51c2b43e8baca6202baca" https://readthedocs.org/api/v2/webhook/jsk-docs/9094/
branches:
# weaken the load on the Jenkins server
only:
- master