From 6631748db62fd9518a2d9398e074e6709cad4bd1 Mon Sep 17 00:00:00 2001 From: alexv Date: Wed, 2 Aug 2017 14:34:10 +0900 Subject: [PATCH 01/15] now using industrial_ci --- .travis.yml | 67 +++++++++++++++++----------------------------- travis_checks.bash | 33 ----------------------- 2 files changed, 24 insertions(+), 76 deletions(-) delete mode 100755 travis_checks.bash diff --git a/.travis.yml b/.travis.yml index 9f7de74..2a3d409 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,59 +1,40 @@ -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 +language: generic branches: except: - gh-pages env: - global: - - CONTAINER_NAME=pyros_utils_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 - -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 - # Switching to use ros shadow fixed packages - - docker exec -ti ${CONTAINER_NAME} /bin/bash -c "sed -i.bak -e s,packages.ros.org/ros/ubuntu,packages.ros.org/ros-shadow-fixed/ubuntu, /etc/apt/sources.list.d/ros-latest.list" - # 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 + # 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 + +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 notifications: email: false + diff --git a/travis_checks.bash b/travis_checks.bash deleted file mode 100755 index 40ff40d..0000000 --- a/travis_checks.bash +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash -set -e - -# first we ensure we change to the directory where this script is. -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -cd $DIR - -# This script run basic checks on this project. -# It is used by travis and can also be used by a developer for checking his current working tree. -# -# These variables need to be setup before calling this script: -# ROS_DISTRO [indigo | jade | kinetic] -# ROS_FLOW [devel | install] - -# For travis docker, this is already done by the entrypoint in docker image. -# However when using 'docker exec' we still need to source it ourselves. -# Also it is mandatory when this script is run directly by the developer. -source /opt/ros/$ROS_DISTRO/setup.bash - -mkdir -p testbuild -cd testbuild -cmake .. -DCMAKE_INSTALL_PREFIX=./install -if [ "$ROS_FLOW" == "devel" ]; then - make -j1 - source devel/setup.bash - make -j1 tests - make -j1 run_tests - catkin_test_results . -elif [ "$ROS_FLOW" == "install" ]; then - make -j1 install - source install/setup.bash - python -m nose pyros_utils -fi From 1f7009f128dc77131253268e5ede90f00c56ae3b Mon Sep 17 00:00:00 2001 From: alexv Date: Thu, 3 Aug 2017 10:56:27 +0900 Subject: [PATCH 02/15] trying verbose and afterscript tests. disabling useless builds. --- .travis.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2a3d409..d14a840 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,17 +9,20 @@ branches: - gh-pages env: + global: + - CATKIN_VERBOSE=true + - AFTER_SCRIPT=python -m nose pyros_utils 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 + # We are only interested in shadow-fixed compatibility here + # - 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="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="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 + # - ROS_DISTRO="lunar" PRERELEASE=true matrix: allow_failures: From 6d1d691ed95f0ea3567bf2cd7fa87c31f7d8a265 Mon Sep 17 00:00:00 2001 From: alexv Date: Thu, 3 Aug 2017 11:09:21 +0900 Subject: [PATCH 03/15] fixing industrial_ci vars --- .travis.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index d14a840..e1f5194 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,19 +10,19 @@ branches: env: global: - - CATKIN_VERBOSE=true - - AFTER_SCRIPT=python -m nose pyros_utils + - VERBOSE_OUTPUT=true + - AFTER_SCRIPT="python -m nose pyros_utils" matrix: # We are only interested in shadow-fixed compatibility here - # - 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="indigo" ROS_REPO=ros-shadow-fixed + - ROS_DISTRO="indigo" ROS_REPO=ros-shadow-fixed + # - ROS_DISTRO="indigo" PRERELEASE=true + # - ROS_DISTRO="kinetic" ROS_REPO=ros-shadow-fixed + - ROS_DISTRO="kinetic" ROS_REPO=ros-shadow-fixed # - 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 + # - ROS_DISTRO="lunar" ROS_REPO=ros-shadow-fixed + - ROS_DISTRO="lunar" ROS_REPO=ros-shadow-fixed + # - ROS_DISTRO="lunar" PRERELEASE=true matrix: allow_failures: From 10d641d584bcb46fe5711e007ae0d7d58a8d99e3 Mon Sep 17 00:00:00 2001 From: alexv Date: Thu, 3 Aug 2017 14:52:07 +0900 Subject: [PATCH 04/15] testing travis with target repo RW --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e1f5194..3bb62e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,7 @@ matrix: - env: ROS_DISTRO="lunar" PRERELEASE=true install: - - git clone https://github.com/ros-industrial/industrial_ci.git .ci_config + - git clone -b target-repo-rw https://github.com/ipa-mdl/industrial_ci.git .ci_config script: - .ci_config/travis.sh From 6e915026d930f1e8b7ac2ad1c5c6f37da81d47b5 Mon Sep 17 00:00:00 2001 From: alexv Date: Thu, 3 Aug 2017 15:02:34 +0900 Subject: [PATCH 05/15] fixing travis badge to point to devel... --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index e45f9a0..58aca81 100644 --- a/README.rst +++ b/README.rst @@ -1,8 +1,8 @@ Pyros-utils =========== -.. image:: https://travis-ci.org/asmodehn/pyros-utils.svg?branch=indigo - :target: https://travis-ci.org/asmodehn/pyros-utils +.. image:: https://travis-ci.org/pyros-dev/pyros-utils.svg?branch=devel + :target: https://travis-ci.org/pyros-dev/pyros-utils This is a ROS package, providing useful ROS addons for pyros. From 0e6aae0bd0a29fb8d7f0038cab1bffe8da29573d Mon Sep 17 00:00:00 2001 From: alexv Date: Fri, 4 Aug 2017 10:40:06 +0900 Subject: [PATCH 06/15] now using docker image for ci --- .travis.yml | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3bb62e3..6bb0a10 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,23 +14,9 @@ env: - AFTER_SCRIPT="python -m nose pyros_utils" matrix: # We are only interested in shadow-fixed compatibility here - # - ROS_DISTRO="indigo" ROS_REPO=ros-shadow-fixed - - ROS_DISTRO="indigo" ROS_REPO=ros-shadow-fixed - # - ROS_DISTRO="indigo" PRERELEASE=true - # - ROS_DISTRO="kinetic" ROS_REPO=ros-shadow-fixed - - ROS_DISTRO="kinetic" ROS_REPO=ros-shadow-fixed - # - ROS_DISTRO="kinetic" PRERELEASE=true - # - ROS_DISTRO="lunar" ROS_REPO=ros-shadow-fixed - - ROS_DISTRO="lunar" ROS_REPO=ros-shadow-fixed - # - ROS_DISTRO="lunar" PRERELEASE=true - -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 + - DOCKER_IMAGE=indigo-trusty-shadow-fixed + - DOCKER_IMAGE=kinetic-xenial-shadow-fixed + - DOCKER_IMAGE=lunar-xenial-shadow-fixed install: - git clone -b target-repo-rw https://github.com/ipa-mdl/industrial_ci.git .ci_config From f6c68bd597781866b8d91c5cc993dfc985e88c12 Mon Sep 17 00:00:00 2001 From: alexv Date: Fri, 4 Aug 2017 14:30:01 +0900 Subject: [PATCH 07/15] fixing DOCKER_IMAGE --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6bb0a10..8d693ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,9 +14,9 @@ env: - AFTER_SCRIPT="python -m nose pyros_utils" matrix: # We are only interested in shadow-fixed compatibility here - - DOCKER_IMAGE=indigo-trusty-shadow-fixed - - DOCKER_IMAGE=kinetic-xenial-shadow-fixed - - DOCKER_IMAGE=lunar-xenial-shadow-fixed + - DOCKER_IMAGE=rosindustrial/ci:indigo-trusty-shadow-fixed + - DOCKER_IMAGE=rosindustrial/ci:kinetic-xenial-shadow-fixed + - DOCKER_IMAGE=rosindustrial/ci:lunar-xenial-shadow-fixed install: - git clone -b target-repo-rw https://github.com/ipa-mdl/industrial_ci.git .ci_config From fc0dd28135f61cca60e4f230086aa65a0b153466 Mon Sep 17 00:00:00 2001 From: alexv Date: Fri, 4 Aug 2017 14:38:48 +0900 Subject: [PATCH 08/15] adding WRITABLE_SOURCE, to fix pip error on CI. --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 8d693ad..d58a330 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,7 @@ branches: env: global: - VERBOSE_OUTPUT=true + - WRITABLE_SOURCE=true # needed by pip (creates egg-info in source) - AFTER_SCRIPT="python -m nose pyros_utils" matrix: # We are only interested in shadow-fixed compatibility here From b5bec130062e5e88c6543319e64624c935a36eaa Mon Sep 17 00:00:00 2001 From: alexv Date: Fri, 4 Aug 2017 14:45:09 +0900 Subject: [PATCH 09/15] adding ROS_DISTRO to get the build to pass for now (shouldnt be necessary) --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index d58a330..cee7e41 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,9 +15,9 @@ env: - AFTER_SCRIPT="python -m nose pyros_utils" matrix: # We are only interested in shadow-fixed compatibility here - - DOCKER_IMAGE=rosindustrial/ci:indigo-trusty-shadow-fixed - - DOCKER_IMAGE=rosindustrial/ci:kinetic-xenial-shadow-fixed - - DOCKER_IMAGE=rosindustrial/ci:lunar-xenial-shadow-fixed + - ROS_DISTRO=indigo DOCKER_IMAGE=rosindustrial/ci:indigo-trusty-shadow-fixed + - ROS_DISTRO=kinetic DOCKER_IMAGE=rosindustrial/ci:kinetic-xenial-shadow-fixed + - ROS_DISTRO=lunar DOCKER_IMAGE=rosindustrial/ci:lunar-xenial-shadow-fixed install: - git clone -b target-repo-rw https://github.com/ipa-mdl/industrial_ci.git .ci_config From dbeb3ae3791819d911e35ea48e0fb558e633d250 Mon Sep 17 00:00:00 2001 From: alexv Date: Fri, 4 Aug 2017 14:58:57 +0900 Subject: [PATCH 10/15] setting CATKIN_PARALLEL_JOBS to 1 to not have tests conflicting. --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index cee7e41..53313eb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,7 @@ env: - VERBOSE_OUTPUT=true - WRITABLE_SOURCE=true # needed by pip (creates egg-info in source) - AFTER_SCRIPT="python -m nose pyros_utils" + - CATKIN_PARALLEL_JOBS="-p1" # to avoid tests breaking each other matrix: # We are only interested in shadow-fixed compatibility here - ROS_DISTRO=indigo DOCKER_IMAGE=rosindustrial/ci:indigo-trusty-shadow-fixed From 3ddf6c902bae91b3746498076591a807db70e59b Mon Sep 17 00:00:00 2001 From: alexv Date: Fri, 4 Aug 2017 15:53:24 +0900 Subject: [PATCH 11/15] setting CATKIN_PARALLEL_TEST_JOBS to not have tests breaking each other. --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 53313eb..0335dbd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,8 @@ env: - VERBOSE_OUTPUT=true - WRITABLE_SOURCE=true # needed by pip (creates egg-info in source) - AFTER_SCRIPT="python -m nose pyros_utils" - - CATKIN_PARALLEL_JOBS="-p1" # to avoid tests breaking each other + - CATKIN_PARALLEL_JOBS="-p1" + - CATKIN_PARALLEL_TEST_JOBS="-p1" # to avoid tests breaking each other matrix: # We are only interested in shadow-fixed compatibility here - ROS_DISTRO=indigo DOCKER_IMAGE=rosindustrial/ci:indigo-trusty-shadow-fixed From bf02f98633f657c9c8c1bd11a5fa79f77d91c2ee Mon Sep 17 00:00:00 2001 From: alexv Date: Fri, 4 Aug 2017 16:12:29 +0900 Subject: [PATCH 12/15] setting ROS_PARALLEL_JOBS instead of CAKTIN_PARALLEL_JOBS, since catkin is not the problem for tests. --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0335dbd..948105b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,8 +13,7 @@ env: - VERBOSE_OUTPUT=true - WRITABLE_SOURCE=true # needed by pip (creates egg-info in source) - AFTER_SCRIPT="python -m nose pyros_utils" - - CATKIN_PARALLEL_JOBS="-p1" - - CATKIN_PARALLEL_TEST_JOBS="-p1" # to avoid tests breaking each other + - ROS_PARALLEL_JOBS="-j1" # to avoid tests breaking each other matrix: # We are only interested in shadow-fixed compatibility here - ROS_DISTRO=indigo DOCKER_IMAGE=rosindustrial/ci:indigo-trusty-shadow-fixed From 91807af5ef9af9fdc9ac8ab1abbe4664e44d4a36 Mon Sep 17 00:00:00 2001 From: AlexV Date: Sat, 5 Aug 2017 20:35:28 +0900 Subject: [PATCH 13/15] now sourcing install/setup.sh before running tests --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 948105b..cd626fb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ env: global: - VERBOSE_OUTPUT=true - WRITABLE_SOURCE=true # needed by pip (creates egg-info in source) - - AFTER_SCRIPT="python -m nose pyros_utils" + - AFTER_SCRIPT="cd ~/catkin_ws && source install/setup.bash && python -m nose pyros_utils" - ROS_PARALLEL_JOBS="-j1" # to avoid tests breaking each other matrix: # We are only interested in shadow-fixed compatibility here From fe9713804f33d117136b31beb6eb3d8fa4b1ea68 Mon Sep 17 00:00:00 2001 From: alexv Date: Thu, 10 Aug 2017 15:53:46 +0900 Subject: [PATCH 14/15] using simpler AFTER_SCRIPT --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index cd626fb..393f56c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ env: global: - VERBOSE_OUTPUT=true - WRITABLE_SOURCE=true # needed by pip (creates egg-info in source) - - AFTER_SCRIPT="cd ~/catkin_ws && source install/setup.bash && python -m nose pyros_utils" + - AFTER_SCRIPT="$CATKIN_WORKSPACE/install/env.sh python -m nose pyros_utils" - ROS_PARALLEL_JOBS="-j1" # to avoid tests breaking each other matrix: # We are only interested in shadow-fixed compatibility here From 27f1cd3cf04eceb07e92d1f32d7eef23f724e4f0 Mon Sep 17 00:00:00 2001 From: AlexV Date: Fri, 11 Aug 2017 17:13:18 +0900 Subject: [PATCH 15/15] single quoting after_script to try preventing variable expansion --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 393f56c..1ca79bd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ env: global: - VERBOSE_OUTPUT=true - WRITABLE_SOURCE=true # needed by pip (creates egg-info in source) - - AFTER_SCRIPT="$CATKIN_WORKSPACE/install/env.sh python -m nose pyros_utils" + - AFTER_SCRIPT='$CATKIN_WORKSPACE/install/env.sh python -m nose pyros_utils' - ROS_PARALLEL_JOBS="-j1" # to avoid tests breaking each other matrix: # We are only interested in shadow-fixed compatibility here