From a52fca51a206c02a6cda7f1278de6d003dafc0cf Mon Sep 17 00:00:00 2001 From: alexv Date: Tue, 1 Aug 2017 09:18:24 +0900 Subject: [PATCH 1/3] attempting to use industrial_ci for travis builds. --- .travis.yml | 68 ++++++++++++++++++++--------------------------------- 1 file changed, 25 insertions(+), 43 deletions(-) diff --git a/.travis.yml b/.travis.yml index d04e00c..fb1307e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,56 +1,38 @@ -sudo: required -language: generic +# This config file for Travis CI utilizes ros-industrial/industrial_ci package. +# For more info for the package, see https://github.com/ros-industrial/industrial_ci/blob/master/README.rst services: - docker - -branches: - except: - - gh-pages +language: generic +compiler: + - gcc env: - global: - - CONTAINER_NAME=catkin_pip_docker - # This will check any ROS distro supported on this OS - # checking devel and install separately so that they don't influence each other (dependencies, path, env, etc.) matrix: - - ROS_DISTRO=indigo ROS_FLOW=devel - - ROS_DISTRO=indigo ROS_FLOW=install - - ROS_DISTRO=jade ROS_FLOW=devel - - ROS_DISTRO=jade ROS_FLOW=install - - ROS_DISTRO=kinetic ROS_FLOW=devel - - ROS_DISTRO=kinetic ROS_FLOW=install - # TODO : test all possible flows (installing deps on devel or not, etc.) + # add NOT_TEST_BUILD=true NOT_TEST_INSTALL=true to skip build or install tests + - ROS_DISTRO="indigo" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu + - ROS_DISTRO="indigo" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu + - ROS_DISTRO="indigo" PRERELEASE=true + - ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu + - ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu + - ROS_DISTRO="kinetic" PRERELEASE=true + - ROS_DISTRO="lunar" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu + - ROS_DISTRO="lunar" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu + - ROS_DISTRO="lunar" PRERELEASE=true -before_install: - # Getting docker ros image - - docker pull ros:${ROS_DISTRO}-ros-core - # Running as daemon - - docker run --name ${CONTAINER_NAME} -d -t ros:${ROS_DISTRO}-ros-core /bin/bash | tee container.id - # Checking current container - - docker ps -a - - docker exec -ti ${CONTAINER_NAME} hostname - - docker exec -ti ${CONTAINER_NAME} uname -a - - docker exec -ti ${CONTAINER_NAME} cat /etc/lsb-release +matrix: + allow_failures: + # Run docker-based ROS prerelease test http://wiki.ros.org/bloom/Tutorials/PrereleaseTest + # Because we might not want to run prerelease test for all PRs, it's omitted from pass-fail criteria. + - env: ROS_DISTRO="indigo" PRERELEASE=true + - env: ROS_DISTRO="kinetic" PRERELEASE=true + - env: ROS_DISTRO="lunar" PRERELEASE=true install: - # refreshing packages - - docker exec -ti ${CONTAINER_NAME} apt-get update - # TMP Patch because rosdep doesnt declare a dependency to sudo yet (2016-08-25) and it doesnt come with xenial - - docker exec -ti ${CONTAINER_NAME} apt-get install sudo -y - - docker exec -ti ${CONTAINER_NAME} rosdep update - # copying local clone to the running container (volume is currently broken) - - docker cp . ${CONTAINER_NAME}:/git_clone - # Installing package dependencies - - docker exec -ti ${CONTAINER_NAME} rosdep install --default-yes --from-paths /git_clone --rosdistro $ROS_DISTRO + - git clone https://github.com/ros-industrial/industrial_ci.git .ci_config -# full ROS setup, build and test script: - - CONTAINER_ID=$(cat container.id) - - docker ps -a - - docker exec -ti ${CONTAINER_NAME} /bin/bash -c "source /opt/ros/$ROS_DISTRO/setup.bash && rospack profile" - # Passing env vars here since passing in docker run currently breaks (2016-08-25) - - docker exec -ti ${CONTAINER_NAME} /bin/bash -c "export ROS_DISTRO=$ROS_DISTRO && export ROS_FLOW=$ROS_FLOW && /git_clone/travis_checks.bash" - - docker stop "${CONTAINER_ID}" + - .ci_config/travis.sh +# - ./travis.sh # Enable this when you have a package-local script notifications: email: false From cca5028d748640a607209781dd5f3d7f6193f754 Mon Sep 17 00:00:00 2001 From: alexv Date: Wed, 2 Aug 2017 12:01:08 +0900 Subject: [PATCH 2/3] cloning industrial_ci in test/ to test with all packages. --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index fb1307e..0b8b1c2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,11 +28,11 @@ matrix: - env: ROS_DISTRO="lunar" PRERELEASE=true install: - - git clone https://github.com/ros-industrial/industrial_ci.git .ci_config + - git clone https://github.com/ros-industrial/industrial_ci.git test/.ci_config script: - - .ci_config/travis.sh -# - ./travis.sh # Enable this when you have a package-local script + # Since we need to run the test/CMakeLists.txt with travis + - ./test/.ci_config/travis.sh notifications: email: false From bb33fab601098ba7b9e34608b51f02677f025a77 Mon Sep 17 00:00:00 2001 From: alexv Date: Thu, 3 Aug 2017 18:03:08 +0900 Subject: [PATCH 3/3] now verbose travis output, and not testing old ros packages. --- .travis.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0b8b1c2..32f93f7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,15 +7,14 @@ compiler: - gcc env: + global: + - VERBOSE_OUTPUT=true matrix: # add NOT_TEST_BUILD=true NOT_TEST_INSTALL=true to skip build or install tests - - ROS_DISTRO="indigo" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu - ROS_DISTRO="indigo" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu - ROS_DISTRO="indigo" PRERELEASE=true - - ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu - ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu - ROS_DISTRO="kinetic" PRERELEASE=true - - ROS_DISTRO="lunar" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu - ROS_DISTRO="lunar" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu - ROS_DISTRO="lunar" PRERELEASE=true @@ -32,7 +31,7 @@ install: script: # Since we need to run the test/CMakeLists.txt with travis - - ./test/.ci_config/travis.sh + - cd test/ && .ci_config/travis.sh notifications: email: false