forked from RoboticaUtnFrba/create_autonomy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
60 lines (55 loc) · 2.1 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
os: linux
dist: bionic
language: generic
compiler:
- gcc
env:
global:
- CATKIN_WS=~/catkin_ws
- CATKIN_WS_SRC=${CATKIN_WS}/src
- CI_ROS_DISTRO="melodic"
- CREATE_AUTONOMY_SRC=${CATKIN_WS_SRC}/create_autonomy
install:
- sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
- echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list
- wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
- wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
- sudo apt-get update -qq
- sudo apt-get install -qq -y python-rosdep python-catkin-tools python3-vcstool wget
- sudo rosdep init
- rosdep update
# Create workspace
#
- mkdir -p $CREATE_AUTONOMY_SRC
# Clone manual dependencies to $CATKIN_WS_SRC
- wget -q https://github.com/${TRAVIS_REPO_SLUG}/blob/${TRAVIS_COMMIT}/rpi.repos
- /usr/bin/vcs import $CATKIN_WS_SRC < rpi.repos
# Add ONLY the package under integration to the workspace using a symlink
- ln -s $TRAVIS_BUILD_DIR $CREATE_AUTONOMY_SRC
# Use rosdep to install all dependencies (including ROS itself)
- cd $CATKIN_WS
- rosdep install --from-paths ./ -i -y --rosdistro $CI_ROS_DISTRO
script:
- source /opt/ros/$CI_ROS_DISTRO/setup.bash
- cd $CATKIN_WS
# Build packages
- catkin_make -DCMAKE_BUILD_TYPE=Release
# Run the tests, ensuring the path is set correctly.
- source devel/setup.bash
# Run tests
- catkin_make run_tests && catkin_test_results
# Lint package files ONLY for create_autonomy
- sudo apt-get install python-catkin-lint
- catkin lint -W2 --strict --explain $CREATE_AUTONOMY_SRC --ignore plugin_missing_install --ignore target_name_collision
# Tips
#
# C++:
# ----
# sudo apt-get install astyle
# find -regextype egrep -regex '.*\.[ch](pp)?$' -exec astyle '{}' --style=allman --indent=spaces=2 --pad-oper --unpad-paren --pad-header --convert-tabs \;
#
# Python:
# -------
# sudo pip install pep8ify
# pep8ify -nw .
- catkin_make roslint