Skip to content

Commit

Permalink
[Release] 1.10.0 (autowarefoundation#1898)
Browse files Browse the repository at this point in the history
  • Loading branch information
kfunaoka authored Jan 23, 2019
2 parents b3e0aec + 5c46036 commit 9fae6cc
Show file tree
Hide file tree
Showing 938 changed files with 23,199 additions and 18,406 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,4 @@ ENV/
*.bag
*.csv

/.metadata/
136 changes: 136 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
stages:
- build
- deploy

variables:
ROS_CI_DESKTOP: "`lsb_release -cs`"
CI_SOURCE_PATH: $CI_PROJECT_DIR
ROSINSTALL_FILE: $CI_SOURCE_PATH/dependencies.rosinstall
CATKIN_OPTIONS: $CI_SOURCE_PATH/catkin.options
GIT_SUBMODULE_STRATEGY: recursive
#CI_DEBUG_TRACE: "true"

.build: &build_common
before_script:
- apt-get update
- apt-get install -y lsb-release
- apt-get install -y gcc g++
- sh -c "echo \"deb http://packages.ros.org/ros/ubuntu $ROS_CI_DESKTOP main\" > /etc/apt/sources.list.d/ros-latest.list"
- apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
- apt-get update
- apt-get install -y dpkg
- apt-get install -y python-catkin-pkg python-rosdep python-wstool ros-${ROS_DISTRO}-catkin
- apt-get install -y python3-pip python3-setuptools
# Update setuptools from PyPI because the version Ubuntu ships with is too old
- pip3 install -U setuptools
- source /opt/ros/${ROS_DISTRO}/setup.bash
- rosdep init
- rosdep update
- cd ros/src
- wstool init
- test -f "${ROSINSTALL_FILE}" && wstool merge "${ROSINSTALL_FILE}"
- wstool up
- cd ..
- rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}


build_kinetic:
stage: build
image: ubuntu:xenial
variables:
ROS_DISTRO: kinetic
<<: *build_common
script:
# colcon as a Debian package is only available in Kinetic and up
- apt-get install -y python3-colcon-common-extensions
# Install lcov from source as binary installation errors when appending files
- git clone https://github.com/linux-test-project/lcov.git
- cd lcov
- git checkout v1.13
- make install
- cd ..
- rm -r lcov
# We first build the entire workspace normally
- colcon build --cmake-args -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage" -DCMAKE_C_FLAGS="${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage" -DCMAKE_BUILD_TYPE=Debug
# And then build the tests target. catkin (ROS1) packages add their tests to the tests target
# which is not the standard target for CMake projects. We need to trigger the tests target so that
# tests are built and any fixtures are set up.
- colcon build --cmake-target tests --cmake-args -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage" -DCMAKE_C_FLAGS="${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage" -DCMAKE_BUILD_TYPE=Debug
- lcov --initial --directory build --capture --output-file lcov.base
- colcon test
- colcon test-result
- lcov --directory build --capture --output-file lcov.test
- lcov -a lcov.base -a lcov.test -o lcov.total
- lcov -r lcov.total '*/tests/*' '*/test/*' '*/build/*' '*/devel/*' '/usr/*' '/opt/*' '*/CMakeCCompilerId.c' '*/CMakeCXXCompilerId.cpp' -o lcov.total.filtered
# BRANCH_NAME: gets branch name from CI_COMMIT_REF_NAME variable substituting / with _ (feature/test_this_lib becomes feature_test_this_lib)
# CI_COMMIT_REF_NAME: (from https://docs.gitlab.com/ee/ci/variables/) The branch or tag name for which project is built
- BRANCH_NAME="$(echo $CI_COMMIT_REF_NAME | sed 's/\//_/g')"
- COVERAGE_FOLDER_NAME="coverage_$BRANCH_NAME"
- genhtml -p "$PWD" --legend --demangle-cpp lcov.total.filtered -o $COVERAGE_FOLDER_NAME
- tar -czvf coverage.tar.gz $COVERAGE_FOLDER_NAME
- mv coverage.tar.gz $CI_PROJECT_DIR/coverage.tar.gz
- ls $CI_PROJECT_DIR
retry: 1
artifacts:
paths:
- $CI_PROJECT_DIR/coverage.tar.gz
expire_in: 48 hrs
coverage: /\s*lines.*:\s(\d+\.\d+\%\s\(\d+\sof\s\d+.*\))/

build_cross:
stage: build
image: docker
services:
- docker:dind
variables:
ROS_DISTRO: kinetic
AUTOWARE_DOCKER_DATE: 20190102
AUTOWARE_HOME: $CI_PROJECT_DIR
AUTOWARE_TARGET_ARCH: aarch64
AUTOWARE_TARGET_PLATFORM: generic-aarch64
AUTOWARE_BUILD_PATH: $CI_PROJECT_DIR/ros/build-${AUTOWARE_TARGET_PLATFORM}
AUTOWARE_INSTALL_PATH: $CI_PROJECT_DIR/ros/install-${AUTOWARE_TARGET_PLATFORM}
AUTOWARE_TOOLCHAIN_FILE_PATH: $CI_PROJECT_DIR/ros/cross_toolchain.cmake
AUTOWARE_SYSROOT: /sysroot/${AUTOWARE_TARGET_PLATFORM}
script:
# - ${AUTOWARE_HOME}/docker/crossbuild/build_cross_image.sh
- 'docker run
-e AUTOWARE_SYSROOT=${AUTOWARE_SYSROOT}
--rm
-v ${AUTOWARE_HOME}:${AUTOWARE_HOME}
-w ${AUTOWARE_HOME}/ros
autoware/build:${AUTOWARE_TARGET_PLATFORM}-kinetic-${AUTOWARE_DOCKER_DATE}
bash
-c "
source ${AUTOWARE_SYSROOT}/opt/ros/kinetic/setup.bash &&
colcon build
--merge-install
--build-base ${AUTOWARE_BUILD_PATH}
--install-base ${AUTOWARE_INSTALL_PATH}
--cmake-args
-DCMAKE_TOOLCHAIN_FILE=${AUTOWARE_TOOLCHAIN_FILE_PATH}
-DCMAKE_SYSTEM_PROCESSOR=${AUTOWARE_TARGET_ARCH}
-DCMAKE_PREFIX_PATH=\"${AUTOWARE_SYSROOT}/opt/ros/kinetic;${AUTOWARE_INSTALL_PATH}\"
-DCMAKE_FIND_ROOT_PATH=${AUTOWARE_INSTALL_PATH}
"
'
retry: 1

pages:
stage: deploy
image: alpine
dependencies:
- build_kinetic
script:
- BRANCH_NAME="$(echo $CI_COMMIT_REF_NAME | sed 's/\//_/g')"
- COVERAGE_FOLDER_NAME="coverage_$BRANCH_NAME"
- tar -xzvf coverage.tar.gz
- mv $COVERAGE_FOLDER_NAME public
artifacts:
paths:
- public
only:
- master
- develop


11 changes: 7 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
[submodule "ros/src/msgs/platform_automation_msgs"]
path = ros/src/msgs/platform_automation_msgs
url = https://github.com/astuff/platform_automation_msgs.git
branch = 51ceed71c28773887648993ceec803ca498698ae
[submodule "ros/src/sensing/drivers/lidar/packages/robosense"]
path = ros/src/sensing/drivers/lidar/packages/robosense
url = https://github.com/CPFL/robosense
[submodule "ros/src/msgs/lgsvl_msgs"]
path = ros/src/msgs/lgsvl_msgs
url = https://github.com/lgsvl/lgsvl_msgs.git
[submodule "ros/src/sensing/drivers/lidar/packages/ouster"]
path = ros/src/sensing/drivers/lidar/packages/ouster
url = https://github.com/CPFL/ouster
branch = autoware_branch
129 changes: 15 additions & 114 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,119 +1,20 @@
language:
- generic
language: generic
services:
- docker
cache:
- apt
matrix:
include:
- dist: xenial
compiler: gcc
os: linux
sudo: required
env: ROS_DISTRO=kinetic
- dist: xenial
os: linux
sudo: required
services:
- docker
env: ROS_DISTRO=kinetic CROSS_COMPILE=1
- dist: trusty
compiler: gcc
os: linux
sudo: required
env: ROS_DISTRO=indigo
notifications:
slack: star4:911NA0lU8gDHitCKLto9LzPJ
directories:
- $HOME/.ccache
env:
global:
- ROS_CI_DESKTOP="`lsb_release -cs`"
- CI_SOURCE_PATH=$(pwd)
- ROSINSTALL_FILE=$CI_SOURCE_PATH/dependencies.rosinstall
- CATKIN_OPTIONS=$CI_SOURCE_PATH/catkin.options
- PYTHONPATH=${PYTHONPATH}:/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages

# Install system dependencies, and Autoware pre requisites (non-ros)
before_install:
- if [ "${CROSS_COMPILE}" != "1" ]; then
sudo sh -c "echo \"deb http://packages.ros.org/ros/ubuntu $ROS_CI_DESKTOP main\" > /etc/apt/sources.list.d/ros-latest.list";
travis_retry sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116;
travis_retry sudo apt-get update;
travis_retry sudo apt-get install -y dpkg;
travis_retry sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool ros-${ROS_DISTRO}-catkin;
source /opt/ros/${ROS_DISTRO}/setup.bash;
travis_retry sudo rosdep init;
travis_retry rosdep update;
fi

# Install all ros dependencies, using wstool first and rosdep second.
# wstool looks for a ROSINSTALL_FILE defined in the environment variables.
before_script:
- if [ "${CROSS_COMPILE}" != "1" ]; then
cd ros/src;
wstool init;
test -f "${ROSINSTALL_FILE}" && wstool merge "${ROSINSTALL_FILE}";
travis_retry wstool up;
cd ..;
travis_retry rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO};
fi
- CCACHE_DIR=$HOME/.ccache
matrix:
- ROS_DISTRO="kinetic" _GUARD_INTERVAL=10 CATKIN_PARALLEL_JOBS='-p2' ROS_PARALLEL_JOBS='-j2' NOT_TEST_BUILD='true' NOT_TEST_INSTALL='true'
- ROS_DISTRO="melodic" _GUARD_INTERVAL=10 CATKIN_PARALLEL_JOBS='-p2' ROS_PARALLEL_JOBS='-j2' NOT_TEST_BUILD='true' NOT_TEST_INSTALL='true'
matrix:
allow_failures:
- env: ROS_DISTRO="melodic" _GUARD_INTERVAL=10 CATKIN_PARALLEL_JOBS='-p2' ROS_PARALLEL_JOBS='-j2' NOT_TEST_BUILD='true' NOT_TEST_INSTALL='true'

# Compile and test (mark the build as failed if any step fails). If the
# CATKIN_OPTIONS file exists, use it as an argument to catkin_make, for example
# to blacklist certain packages.
#
# NOTE on testing: `catkin_make run_tests` will show the output of the tests
# (gtest, nosetest, etc..) but always returns 0 (success) even if a test
# fails. Running `catkin_test_results` aggregates all the results and returns
# non-zero when a test fails (which notifies Travis the build failed).
install:
- git clone --quiet --depth 1 https://github.com/ros-industrial/industrial_ci.git .industrial_ci
script:
- if [ "${CROSS_COMPILE}" == "1" ]; then
AUTOWARE_HOME=${TRAVIS_BUILD_DIR};
AUTOWARE_TARGET_ARCH=aarch64;
AUTOWARE_TARGET_PLATFORM=generic-aarch64;
AUTOWARE_BUILD_PATH=${AUTOWARE_HOME}/ros/build-${AUTOWARE_TARGET_PLATFORM};
AUTOWARE_DEVEL_PATH=${AUTOWARE_HOME}/ros/devel-${AUTOWARE_TARGET_PLATFORM};
AUTOWARE_TOOLCHAIN_FILE_PATH=${AUTOWARE_HOME}/ros/cross_toolchain.cmake;
AUTOWARE_SYSROOT=/sysroot/${AUTOWARE_TARGET_PLATFORM};

travis_retry docker run
-e AUTOWARE_SYSROOT=${AUTOWARE_SYSROOT}
--rm
-v ${AUTOWARE_HOME}:${AUTOWARE_HOME}
-w ${AUTOWARE_HOME}/ros
autoware/build:${AUTOWARE_TARGET_PLATFORM}-kinetic-20180809
bash
-c "source /opt/ros/kinetic/setup.bash &&
catkin_make
-DCMAKE_TOOLCHAIN_FILE=${AUTOWARE_TOOLCHAIN_FILE_PATH}
-DCATKIN_DEVEL_PREFIX=${AUTOWARE_DEVEL_PATH}
-DCMAKE_SYSTEM_PROCESSOR=${AUTOWARE_TARGET_ARCH}
--build ${AUTOWARE_BUILD_PATH}
clean &&
source devel-${AUTOWARE_TARGET_PLATFORM}/setup.bash &&
catkin_make
-DCMAKE_TOOLCHAIN_FILE=${AUTOWARE_TOOLCHAIN_FILE_PATH}
-DCATKIN_DEVEL_PREFIX=${AUTOWARE_DEVEL_PATH}
-DCMAKE_SYSTEM_PROCESSOR=${AUTOWARE_TARGET_ARCH}
--build ${AUTOWARE_BUILD_PATH}
-j4";
else
catkin_make clean;
source devel/setup.bash;
catkin_make -j4;
fi

#sudo: required
#dist: trusty
#language: generic
#compiler:
# - gcc
#notifications:
# slack: star4:911NA0lU8gDHitCKLto9LzPJ
#env:
# matrix:
# - USE_DEB=true ROS_DISTRO="indigo" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu
## - USE_DEB=true ROS_DISTRO="indigo" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu
# - USE_DEB=true ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu
## - USE_DEB=true ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu
#install:
# - git clone https://github.com/ros-industrial/industrial_ci.git .ci_config
#script:
# - source .ci_config/travis.sh
- .industrial_ci/travis.sh
13 changes: 13 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Any contribution that you make to this repository will
be under the Apache 2 License, as dictated by that
[license](http://www.apache.org/licenses/LICENSE-2.0.html):

~~~
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
~~~
Loading

0 comments on commit 9fae6cc

Please sign in to comment.