From 259dbe71912e4ed7ce7543710f68c931250e96e7 Mon Sep 17 00:00:00 2001 From: Servando <43142004+sgermanserrano@users.noreply.github.com> Date: Thu, 25 Oct 2018 13:49:25 +0100 Subject: [PATCH] Feature/gitlab ci (#1563) * Added gitlab-ci.yml --- .gitlab-ci.yml | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000000..99fc7c42638 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,92 @@ +stages: + - build + - test + +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 + PYTHONPATH: ${PYTHONPATH}:/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages + 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 + - 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} + script: + - catkin_make clean + - catkin_make -j2 + - catkin_make run_tests + - catkin_test_results + +build_kinetic: + stage: build + image: ubuntu:xenial + variables: + ROS_DISTRO: kinetic + <<: *build_common + +build_indigo: + stage: build + image: ubuntu:trusty + variables: + ROS_DISTRO: indigo + <<: *build_common + +build_cross: + stage: build + image: docker + services: + - docker:dind + variables: + ROS_DISTRO: kinetic + 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_DEVEL_PATH: $CI_PROJECT_DIR/ros/devel-${AUTOWARE_TARGET_PLATFORM} + AUTOWARE_TOOLCHAIN_FILE_PATH: $CI_PROJECT_DIR/ros/cross_toolchain.cmake + AUTOWARE_SYSROOT: /sysroot/${AUTOWARE_TARGET_PLATFORM} + script: + - '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} + -j2" + ' + + +