diff --git a/.github/workflows/ubuntu_20_04.yml b/.github/workflows/ubuntu_20_04.yml new file mode 100644 index 0000000..d9dc1d7 --- /dev/null +++ b/.github/workflows/ubuntu_20_04.yml @@ -0,0 +1,96 @@ +name: ROS CI + +on: [push] + +jobs: + build: + runs-on: ubuntu-20.04 + env: + ROS_CI_DESKTOP: "`lsb_release -cs`" # e.g. [trusty|xenial|...] + CI_SOURCE_PATH: $(pwd) + ROSINSTALL_FILE: $CI_SOURCE_PATH/dependencies.rosinstall + CATKIN_OPTIONS: $CI_SOURCE_PATH/catkin.options + ROS_PARALLEL_JOBS: '-j8 -l6' + # Set the python path manually to include /usr/-/python2.7/dist-packages + # as this is where apt-get installs python packages. + PYTHONPATH: $PYTHONPATH:/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages + ROS_DISTRO: noetic + steps: + - uses: actions/checkout@v1 + - name: Install ROS + run: | + sudo sh -c "echo \"deb http://packages.ros.org/ros/ubuntu $ROS_CI_DESKTOP main\" > /etc/apt/sources.list.d/ros-latest.list" + sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 + sudo apt-get update -qq + sudo apt-get install dpkg + sudo apt-get install -y python3-catkin-pkg + sudo apt-get install -y python3-catkin-tools + sudo apt-get install -y python3-osrf-pycommon + sudo apt-get install -y python3-rosdep + sudo apt-get install -y python3-wstool + # sudo apt-get install -y libboost-dev + # sudo apt-get install -y libeigen3-dev + # sudo apt-get install -y libyaml-cpp-dev + # sudo apt-get install -y qt5-default + # sudo apt-get install -y ros-cmake-modules + # sudo apt-get install -y ros-$ROS_DISTRO-actionlib + # sudo apt-get install -y ros-$ROS_DISTRO-actionlib-msgs + # sudo apt-get install -y ros-$ROS_DISTRO-camera-info-manager + # sudo apt-get install -y ros-$ROS_DISTRO-class-loader + # sudo apt-get install -y ros-$ROS_DISTRO-cmake-modules + sudo apt-get install -y ros-$ROS_DISTRO-cv-bridge + sudo apt-get install -y ros-$ROS_DISTRO-dynamic-reconfigure + # sudo apt-get install -y ros-$ROS_DISTRO-ddynamic-reconfigure + # sudo apt-get install -y ros-$ROS_DISTRO-eigen-conversions + # sudo apt-get install -y ros-$ROS_DISTRO-geometry-msgs + # sudo apt-get install -y ros-$ROS_DISTRO-genmsg + # sudo apt-get install -y ros-$ROS_DISTRO-image-transport + # sudo apt-get install -y ros-$ROS_DISTRO-interactive-markers + # sudo apt-get install -y ros-$ROS_DISTRO-message-generation + # sudo apt-get install -y ros-$ROS_DISTRO-message-runtime + sudo apt-get install -y ros-$ROS_DISTRO-nodelet-core + sudo apt-get install -y ros-$ROS_DISTRO-nodelet-topic-tools + # sudo apt-get install -y ros-$ROS_DISTRO-pcl-conversions + # sudo apt-get install -y ros-$ROS_DISTRO-pcl-ros + # sudo apt-get install -y ros-$ROS_DISTRO-pluginlib + # sudo apt-get install -y ros-$ROS_DISTRO-python-qt-binding + # sudo apt-get install -y ros-$ROS_DISTRO-roscpp + # sudo apt-get install -y ros-$ROS_DISTRO-roslib + sudo apt-get install -y ros-$ROS_DISTRO-roslint + sudo apt-get install -y ros-$ROS_DISTRO-rospy + sudo apt-get install -y ros-$ROS_DISTRO-rostest + # sudo apt-get install -y ros-$ROS_DISTRO-rqt-gui-py + # sudo apt-get install -y ros-$ROS_DISTRO-rviz + # sudo apt-get install -y ros-$ROS_DISTRO-shape-msgs + # sudo apt-get install -y ros-$ROS_DISTRO-sensor-msgs + sudo apt-get install -y ros-$ROS_DISTRO-std-msgs + # sudo apt-get install -y ros-$ROS_DISTRO-tf + # sudo apt-get install -y ros-$ROS_DISTRO-tf-conversions + # sudo apt-get install -y ros-$ROS_DISTRO-tf2-geometry-msgs + # sudo apt-get install -y ros-$ROS_DISTRO-tf2-msgs + # sudo apt-get install -y ros-$ROS_DISTRO-tf2-py + # sudo apt-get install -y ros-$ROS_DISTRO-tf2-ros + # sudo apt-get install -y ros-$ROS_DISTRO-tf2-sensor-msgs + # sudo apt-get install -y ros-$ROS_DISTRO-visualization-msgs + source /opt/ros/$ROS_DISTRO/setup.bash + # Prepare rosdep to install dependencies. + sudo rosdep init + rosdep update --include-eol-distros # Support EOL distros. + + - name: build + run: | + source /opt/ros/$ROS_DISTRO/setup.bash + mkdir -p ~/catkin_ws/src + cd ~/catkin_ws + catkin build + source devel/setup.bash + # echo "::warning $CI_SOURCE_PATH" + # echo "::warning `ls -l`" + cd src + ln -s ~/work # $CI_SOURCE_PATH + cd .. + catkin build + - name: lint + run: | + cd ~/catkin_ws + catkin build $(catkin list --depends-on roslint -u) --no-deps --catkin-make-args roslint