jsk-ros-pkg / jsk_travis

11 stars 23 forks source link

jsk_travis

Join the chat at https://gitter.im/jsk-ros-pkg/jsk_travis Build Status .github/workflows/main.yml


Where test runs

jsk_travis is a package to test ROS repositories on travis and jenkins. In order to test on hydro, it uses travis and on indigo and jade, it uses jenkins by default. On travis, docker can be enabled to test multiple distribution. Use USE_DOCKER, USE_TRAVIS and USE_JENKINS to configure them manually. The jenkins server is available on jenkins.jsk.imi.i.u-tokyo.ac.jp.

Usage

jsk_travis expects to be added to .travis as submodule.

git submodule add https://github.com/jsk-ros-pkg/jsk_travis.git .travis

And each project needs to setup .travis.yml for the travis. jsk_common's .travis.yml is a good example to setup .travis.yml.

Note that jsk_travis only supports being upgraded and PRs that downgrades jsk_travis result in test fails.

Restarting tests

see this document

Environmental Variables

Config Files

Release Package

mv CATKIN_IGNORE CATKIN_IGNORE.bak
catkin_generate_changelog
emacs -nw CHANGELOG.rst                 # prettify CHANGELOG so we can understand what has changed
git commit -m "update CHANGELOG" CHANGELOG.rst
catkin_prepare_release --no-push        # please type "Y" to all
mv CATKIN_IGNORE.bak CATKIN_IGNORE      # do not forget this
gitk                                    # make sure that what you changed is correct
git push && git push --tags

How to build docker images used in jenkins

cd docker; make

This will build base images for each distros, such as ros-ubuntu:12.04-base, ros-ubuntu:14.04-base, ros-ubuntu:16.04-base ...

and PCL-installed images ros-ubuntu:14.04-pcl, ros-ubuntu:16.04-pcl ...

Each images are re-build everyday by --build-arg CACHEBUST=$(date +%%Y%%m%%d).

Note that ros-ubuntu:14.04 is used for build process and we do not expect users to run this package. Please use ros-ubuntu:14.04-base instead.

Debug by changing the submodule jsk_travis

If you add jsk_travis as a submodule, it is difficult to make changes to have the travis test pass. So in that case, I recommend you temporarily set your forked jsk_travis as submodule. The sample commmit is here.