circle.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. general:
  2. artifacts:
  3. - "$CIRCLE_ARTIFACTS/"
  4. machine:
  5. environment:
  6. ROS_DISTRO: indigo
  7. ROS_REPOSITORY_PATH: http://packages.ros.org/ros/ubuntu
  8. dependencies:
  9. pre:
  10. - rm -fr /opt/circleci/.pyenv/
  11. - rm -fr /home/ubuntu/virtualenvs/
  12. - hash -r
  13. - type python
  14. - python -c 'import sys; print(sys.path)'
  15. - env | grep ROS
  16. #- sudo rm /etc/apt/sources.list.d/*
  17. - sudo sh -c "echo \"deb $ROS_REPOSITORY_PATH `lsb_release -cs` main\" > /etc/apt/sources.list.d/ros-latest.list"
  18. - wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
  19. - sudo apt-get update
  20. - sudo apt-get install -y -q python-catkin-pkg python-rosdep ros-$ROS_DISTRO-catkin
  21. - sudo apt-get install -y -q mongodb # to install ros-indigo-warehouse-ros
  22. - sudo rosdep init && rosdep update
  23. override:
  24. - mkdir -p ~/catkin_ws/src
  25. - cd ~/catkin_ws/src && ln -sf ~/$CIRCLE_PROJECT_REPONAME $CIRCLE_PROJECT_REPONAME
  26. test:
  27. pre:
  28. - rosdep update
  29. override:
  30. # compile
  31. - . /opt/ros/$ROS_DISTRO/setup.bash && cd ~/catkin_ws && rosdep install --from-paths src/ --ignore-src -y
  32. - . /opt/ros/$ROS_DISTRO/setup.bash && cd ~/catkin_ws && catkin_make
  33. - . /opt/ros/$ROS_DISTRO/setup.bash && cd ~/catkin_ws && catkin_make run_tests
  34. - . /opt/ros/$ROS_DISTRO/setup.bash && cd ~/catkin_ws && catkin_test_results --verbose build
  35. # doc build
  36. - sudo pip install sphinx
  37. - sudo pip install recommonmark
  38. - sudo apt-get install -y -q doxygen pandoc python-catkin-sphinx
  39. - sudo apt-get install -y -q texlive-latex-base texlive-latex-recommended texlive-fonts-recommended texlive-latex-extra
  40. - sudo apt-get install -y -q latexmk
  41. - sudo apt-get install -y -q texlive-lang-cjk
  42. ##
  43. ## not sure why but we need this hack only for 14.04
  44. - sudo sed -i 's@role(name@role("download"@' /usr/local/lib/python2.7/dist-packages/recommonmark/states.py
  45. - sudo sed -i 's@str(content)@content@' /usr/local/lib/python2.7/dist-packages/recommonmark/states.py
  46. ##
  47. - . /opt/ros/$ROS_DISTRO/setup.bash && cd ~/catkin_ws && catkin_make --pkg $CIRCLE_PROJECT_REPONAME --make-args docbuild_$CIRCLE_PROJECT_REPONAME
  48. - find -L ~/catkin_ws/ -iname '*.pdf' -exec cp {} $CIRCLE_ARTIFACTS \;
  49. ##
  50. # deb build
  51. - sudo apt-get install -y -q python-bloom
  52. - . /opt/ros/$ROS_DISTRO/setup.bash && cd ~/catkin_ws && catkin_make --pkg $CIRCLE_PROJECT_REPONAME --make-args debbuild_$CIRCLE_PROJECT_REPONAME
  53. - cp ~/*.deb $CIRCLE_ARTIFACTS
  54. deployment:
  55. release:
  56. tag: /[0-9]+(\.[0-9]+)*/
  57. commands:
  58. - ./.github_release.sh