Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[fix melodic] Remove PCL from the DEPENDS export #2101

Closed
wants to merge 49 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
7162edd
Added grid_map_core from grid_map@1.6.0
esteve Jan 15, 2019
26c4e8a
Added grid_map_cv from grid_map@1.6.0
esteve Jan 15, 2019
3bc7633
Added grid_map_msgs from grid_map@1.6.0
esteve Jan 15, 2019
e11da00
Added grid_map_ros from grid_map@1.6.0
esteve Jan 15, 2019
e83e4ce
Added grid_map_visualization from grid_map@1.6.0
esteve Jan 15, 2019
fd20df5
Added jsk_recognition_msgs from jsk_recognition@1.2.6
esteve Jan 15, 2019
ae81fdb
Added jsk_recognition_util from jsk_recognition@1.2.6
esteve Jan 15, 2019
ef1b7a2
Added jsk_rviz_plugins from jsk_visualization@2.1.4
esteve Jan 15, 2019
73a35f5
Depend on cmake_modules and tinyxml
esteve Jan 15, 2019
2b7eba0
Upgrade GStreamer dependency to 1.0 from 0.10
esteve Jan 15, 2019
ce5b92e
Remove ROS_DISTRO checks and assume the target ROS distribution is at…
esteve Jan 15, 2019
3506386
Disable ymc for ROS Melodic and later
esteve Jan 15, 2019
ac5d32a
Added dependency for jsk_recognition_msgs to jsk_recognition_utils
esteve Jan 15, 2019
515d4ba
Added pipeline for ROS Melodic
esteve Jan 15, 2019
540a9eb
Added gnupg2
esteve Jan 15, 2019
a2c2f32
Install tzdata non-interactivelly
esteve Jan 15, 2019
a2be9d2
Added jsk_rviz_plugins as a dependency
esteve Jan 15, 2019
2af2be5
Added jsk_rviz_plugins as a dependency to lidar_localizer
esteve Jan 15, 2019
43d4b04
Added jsk_rviz_plugins as a dependency to lidar_euclidean_cluster_detect
esteve Jan 15, 2019
b6fe850
Use /usr/bin/python3 for PYTHON_EXECUTABLE
esteve Jan 16, 2019
bb3fb04
Update dependencies
esteve Jan 16, 2019
a89e7b0
Backport https://github.com/jsk-ros-pkg/jsk_recognition/pull/2389
esteve Jan 28, 2019
63ee6a1
Added numpy to the Docker image for jsk_recognition_utils
esteve Jan 28, 2019
37da0e6
Added Cython and Numpy paths to CMake toolchains
esteve Jan 28, 2019
0110a30
Update build scripts
esteve Jan 28, 2019
cdf9f37
Added autoware_msgs_generate_messages_cpp to the list of target depen…
esteve Jan 28, 2019
f25c97a
Added missing dependency (#1933)
sgermanserrano Jan 28, 2019
80ba6d5
Added support for Melodic
esteve Jan 29, 2019
0fc62c3
Added Docker image for crosscompiling for Melodic
esteve Jan 29, 2019
fcf718d
Update image for Melodic
esteve Jan 30, 2019
d66d909
Added pipeline for crosscompiling for melodic
esteve Jan 30, 2019
f187a20
Fix merge
esteve Feb 19, 2019
34a0bd5
Removed jsk_recognition_msgs and jsk_recognition_utils, which are now…
esteve Feb 26, 2019
96b5620
Revert "Removed jsk_recognition_msgs and jsk_recognition_utils, which…
esteve Mar 1, 2019
e947e6e
Revert "Added grid_map_visualization from grid_map@1.6.0"
esteve Mar 5, 2019
b89afd7
Revert "Added grid_map_ros from grid_map@1.6.0"
esteve Mar 5, 2019
9f0e572
Revert "Added grid_map_msgs from grid_map@1.6.0"
esteve Mar 5, 2019
0c06bd4
Revert "Added grid_map_cv from grid_map@1.6.0"
esteve Mar 5, 2019
70d512c
Revert "Added grid_map_core from grid_map@1.6.0"
esteve Mar 5, 2019
3e12560
Revert "Revert "Removed jsk_recognition_msgs and jsk_recognition_util…
esteve Mar 5, 2019
854843f
Re-added grid_map and jsk_* to the crossbuild Docker image
esteve Mar 5, 2019
f3c087f
Revert "Added jsk_rviz_plugins from jsk_visualization@2.1.4"
esteve Mar 5, 2019
f7308d5
Made build script slightly more verbose
esteve Mar 5, 2019
ae5a183
Increase verbosity for colcon test-result
esteve Mar 6, 2019
9350f86
Add OpenCV libraries to the linker (#2090)
amc-nu Mar 6, 2019
3886202
Add missing numeric header (#2089)
amc-nu Mar 6, 2019
d4f2cc1
Update Docker image timestamps
esteve Mar 6, 2019
c8f3fea
Fix CI syntax
esteve Mar 6, 2019
4f1c7c6
Remove PCL from the DEPENDS export, replace with pcl_ros
amc-nu Mar 8, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
139 changes: 95 additions & 44 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
stages:
- build
- deploy

variables:
ROS_CI_DESKTOP: "`lsb_release -cs`"
CI_SOURCE_PATH: $CI_PROJECT_DIR
Expand All @@ -13,6 +13,9 @@ variables:
.build: &build_common
before_script:
- apt-get update
# Use UTC for tzdata
- DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata
- apt-get install -y gnupg2
- 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"
Expand All @@ -31,8 +34,47 @@ variables:
- test -f "${ROSINSTALL_FILE}" && wstool merge "${ROSINSTALL_FILE}"
- wstool up
- cd ..
- rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}

- rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}

.build_cross: &build_cross
stage: build
image: docker
services:
- docker:dind
variables:
ROS_DISTRO: kinetic
AUTOWARE_DOCKER_DATE: 20190306
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}-${ROS_DISTRO}-${AUTOWARE_DOCKER_DATE}
bash
-c "
source ${AUTOWARE_SYSROOT}/opt/ros/${ROS_DISTRO}/setup.bash &&
colcon build
--merge-install
--build-base ${AUTOWARE_BUILD_PATH}
--install-base ${AUTOWARE_INSTALL_PATH}
--cmake-args
-DPYTHON_EXECUTABLE=/usr/bin/python3
-DCMAKE_TOOLCHAIN_FILE=${AUTOWARE_TOOLCHAIN_FILE_PATH}
-DCMAKE_SYSTEM_PROCESSOR=${AUTOWARE_TARGET_ARCH}
-DCMAKE_PREFIX_PATH=\"${AUTOWARE_SYSROOT}/opt/ros/${ROS_DISTRO};${AUTOWARE_INSTALL_PATH}\"
-DCMAKE_FIND_ROOT_PATH=${AUTOWARE_INSTALL_PATH}
"
'
retry: 1

build_kinetic:
stage: build
Expand All @@ -47,18 +89,18 @@ build_kinetic:
- git clone https://github.com/linux-test-project/lcov.git
- cd lcov
- git checkout v1.13
- make install
- 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
- 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 -DPYTHON_EXECUTABLE=/usr/bin/python3
# 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
- 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 -DPYTHON_EXECUTABLE=/usr/bin/python3
- lcov --initial --directory build --capture --output-file lcov.base
- colcon test
- colcon test-result
- colcon test-result --verbose
- 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
Expand All @@ -69,58 +111,68 @@ build_kinetic:
- 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
- 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:

build_melodic:
stage: build
image: docker
services:
- docker:dind
image: ubuntu:bionic
variables:
ROS_DISTRO: kinetic
AUTOWARE_DOCKER_DATE: 20190211
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}
ROS_DISTRO: melodic
<<: *build_common
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}
"
'
# colcon as a Debian package is only available in Kinetic and up
- apt-get install -y python3-colcon-common-extensions
# Install lcov ffrom the Ubuntu package. We need 1.13 at least.
- apt-get install -y 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 -DPYTHON_EXECUTABLE=/usr/bin/python3
# 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 -DPYTHON_EXECUTABLE=/usr/bin/python3
- lcov --initial --directory build --capture --output-file lcov.base
- colcon test
- colcon test-result --verbose
- 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_kinetic_cross:
variables:
ROS_DISTRO: kinetic
<<: *build_cross

build_melodic_cross:
variables:
ROS_DISTRO: melodic
<<: *build_cross

pages:
stage: deploy
image: alpine
dependencies:
- build_kinetic
- build_melodic
script:
- BRANCH_NAME="$(echo $CI_COMMIT_REF_NAME | sed 's/\//_/g')"
- COVERAGE_FOLDER_NAME="coverage_$BRANCH_NAME"
Expand All @@ -132,4 +184,3 @@ pages:
only:
- master
- develop

30 changes: 29 additions & 1 deletion docker/crossbuild/Dockerfile.kinetic-crossbuild
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \

# Autoware dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
cython \
freeglut3-dev \
gstreamer1.0-plugins-good \
libarmadillo-dev \
libcurl4-openssl-dev \
libeigen3-dev \
Expand All @@ -27,6 +30,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
libglew-dev \
libglu1-mesa-dev \
libgoogle-glog-dev \
libgstreamer-plugins-good1.0-0 \
libgtest-dev \
libnlopt-dev \
libopencv-dev \
Expand All @@ -46,28 +50,39 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
libxmu-dev \
libyaml-cpp-dev \
python-flask \
python-scipy \
python-serial \
python-skimage \
qtbase5-dev \
ros-kinetic-angles \
ros-kinetic-automotive-platform-msgs \
ros-kinetic-camera-info-manager \
ros-kinetic-catkin \
ros-kinetic-cmake-modules \
ros-kinetic-cv-bridge \
ros-kinetic-diagnostic-aggregator \
ros-kinetic-diagnostic-msgs \
ros-kinetic-diagnostic-updater \
ros-kinetic-dynamic-reconfigure \
ros-kinetic-eigen-conversions \
ros-kinetic-filters \
ros-kinetic-geometry-msgs \
ros-kinetic-gps-common \
ros-kinetic-grid-map-cv \
ros-kinetic-grid-map-msgs \
ros-kinetic-grid-map-ros \
ros-kinetic-gscam \
ros-kinetic-image-geometry \
ros-kinetic-image-transport \
ros-kinetic-imu-filter-madgwick \
ros-kinetic-imu-tools \
ros-kinetic-jsk-footstep-msgs \
ros-kinetic-jsk-gui-msgs \
ros-kinetic-jsk-hark-msgs \
ros-kinetic-jsk-recognition-msgs \
ros-kinetic-jsk-rviz-plugins \
ros-kinetic-jsk-tools \
ros-kinetic-jsk-topic-tools \
ros-kinetic-message-filters \
ros-kinetic-message-generation \
ros-kinetic-message-runtime \
Expand All @@ -78,7 +93,11 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
ros-kinetic-pcl-conversions \
ros-kinetic-pcl-msgs \
ros-kinetic-pcl-ros \
ros-kinetic-people-msgs \
ros-kinetic-pluginlib \
ros-kinetic-posedetection-msgs \
ros-kinetic-robot-state-publisher \
ros-kinetic-rosbridge-server \
ros-kinetic-rosconsole \
ros-kinetic-roscpp \
ros-kinetic-roslaunch \
Expand All @@ -96,8 +115,12 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
ros-kinetic-std-srvs \
ros-kinetic-stereo-msgs \
ros-kinetic-tf \
ros-kinetic-tf-conversions \
ros-kinetic-tf2 \
ros-kinetic-tf2-geometry-msgs \
ros-kinetic-tf2-ros \
ros-kinetic-urdfdom-py \
ros-kinetic-view-controller-msgs \
ros-kinetic-visualization-msgs \
ros-kinetic-xacro \
ros-kinetic-rosbridge-server \
Expand All @@ -112,7 +135,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
ros-kinetic-effort-controllers \
ros-kinetic-controller-manager \
ros-kinetic-robot-state-publisher \
ros-kinetic-joint-state-controller
ros-kinetic-joint-state-controller \
v4l-utils

RUN find / -depth -xdev -type l -lname '/*' -exec sh -c 'linkpath="$(readlink {})" && rm -f {} && ln -frsv "$linkpath" "{}"' \;

Expand All @@ -129,6 +153,7 @@ COPY --from=sysroot /etc/alternatives ${AUTOWARE_SYSROOT}/etc/alternatives
RUN echo "deb http://packages.ros.org/ros/ubuntu xenial main" | tee /etc/apt/sources.list.d/ros-latest.list
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
RUN apt-get update && apt-get install -y --no-install-recommends \
cython \
crossbuild-essential-arm64 \
pkg-config \
python-rospkg \
Expand All @@ -153,6 +178,9 @@ RUN sed -i -e "s#set(imported_location \"\${_qt5Core_install_prefix}/lib/${AUTOW
RUN sed -i -e "s#define ARMA_SUPERLU_INCLUDE_DIR /usr/include/superlu/#define ARMA_SUPERLU_INCLUDE_DIR ${AUTOWARE_SYSROOT}/usr/include/superlu/#g" \
${AUTOWARE_SYSROOT}/usr/include/armadillo_bits/config.hpp

RUN apt-get install -y python-numpy
RUN apt-get install -y python-pip python-setuptools
RUN pip install -U setuptools
RUN apt-get install -y python3-pip python3-setuptools
RUN pip3 install -U setuptools
RUN apt-get install -y python3-colcon-common-extensions
Expand Down
2 changes: 1 addition & 1 deletion docker/crossbuild/Dockerfile.kinetic-crossbuild-driveworks
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ARG AUTOWARE_DOCKER_ARCH
ARG AUTOWARE_TARGET_ARCH
ARG AUTOWARE_TARGET_PLATFORM
FROM autoware/build:${AUTOWARE_TARGET_PLATFORM}-kinetic-20190102
FROM autoware/build:${AUTOWARE_TARGET_PLATFORM}-kinetic-20190306
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential
COPY files/FindCUDA.cmake /usr/share/cmake-3.5/Modules/FindCUDA.cmake
Expand Down
Loading