diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..5cdb2a1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,49 @@ + +# this is .traivs.yml written by - + +# https://github.com/ros-infrastructure/ros_buildfarm/blob/master/doc/jobs/devel_jobs.rst +# https://github.com/ros-infrastructure/ros_buildfarm/blob/master/doc/jobs/prerelease_jobs.rst +# while this doesn't require sudo we don't want to run within a Docker container +sudo: true +dist: trusty +language: python +python: + - "3.6" +env: + global: + - JOB_PATH=/tmp/devel_job + - ABORT_ON_TEST_FAILURE=1 + matrix: + - ROS_DISTRO_NAME=kinetic OS_NAME=ubuntu OS_CODE_NAME=xenial ARCH=amd64 + - ROS_DISTRO_NAME=melodic OS_NAME=ubuntu OS_CODE_NAME=bionic ARCH=amd64 + - ROS_DISTRO_NAME=noetic OS_NAME=ubuntu OS_CODE_NAME=focal ARCH=amd64 +# matrix: +# allow_failures: +# - env: ROS_DISTRO_NAME=kinetic OS_NAME=ubuntu OS_CODE_NAME=xenial ARCH=amd64 +install: + # either install the latest released version of ros_buildfarm + # - pip install ros_buildfarm + # or checkout a specific branch + #- git clone -b master https://github.com/ros-infrastructure/ros_buildfarm /tmp/ros_buildfarm + # use rosdep_update_options (https://github.com/ros-infrastructure/ros_buildfarm/pull/890) + - git clone -b fix_674 https://github.com/k-okada/ros_buildfarm /tmp/ros_buildfarm + - pip install /tmp/ros_buildfarm + # checkout catkin for catkin_test_results script + - git clone https://github.com/ros/catkin /tmp/catkin + # run devel job for a ROS repository with the same name as this repo + - export REPOSITORY_NAME=`basename $TRAVIS_BUILD_DIR` + # use the code already checked out by Travis + - mkdir -p $JOB_PATH/ws/src + - cp -R $TRAVIS_BUILD_DIR $JOB_PATH/ws/src/ + # download slam_gmapping to run rostest + - git clone https://github.com/ros-perception/slam_gmapping $JOB_PATH/ws/src/slam_gmapping + # generate the script to run a pre-release job for that target and repo + - generate_prerelease_script.py https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml $ROS_DISTRO_NAME default $OS_NAME $OS_CODE_NAME $ARCH --output-dir $JOB_PATH --custom-rosdep-update-options=--include-eol-distros + # run the actual job which involves Docker + - cd $JOB_PATH; sh ./prerelease.sh -y +script: + # get summary of test results + - /tmp/catkin/bin/catkin_test_results $JOB_PATH/ws/test_results --all +notifications: + email: false +