Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: build

on:
push:
branches: [master]
pull_request:
branches: [master]

jobs:
build: # Iterates on all ROS 1 distributions in Linux
runs-on: ubuntu-latest
strategy:
matrix:
ros_distribution:
- kinetic
- melodic
# Noetic build is broken because there's currently no release for the serial dependency:
# https://github.com/wjwwood/serial/issues/222
# - noetic

# Define the Docker image(s) associated with each ROS distribution.
# The include syntax allows additional variables to be defined, like
# docker_image in this case. See documentation:
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#example-including-configurations-in-a-matrix-build
#
# Platforms are defined in REP 3, and REP 2000:
# https://ros.org/reps/rep-0003.html
# https://ros.org/reps/rep-2000.html
include:
# Kinetic Kame (May 2016 - May 2021)
- docker_image: ubuntu:xenial
ros_distribution: kinetic
# Setting ros_version is helpful to customize the workflow
# depending on whether a ROS 1, or ROS 2 is being tested.
# See 'if: ros_version ==' below for an example.
ros_version: 1

# Melodic Morenia (May 2018 - May 2023)
- docker_image: ubuntu:bionic
ros_distribution: melodic
ros_version: 1

# # Noetic Ninjemys (May 2020 - May 2025)
# - docker_image: ubuntu:focal
# ros_distribution: noetic
# ros_version: 1

container:
image: ${{ matrix.docker_image }}
steps:
- name: setup ROS environment
uses: ros-tooling/setup-ros@0.0.25
with:
required-ros-distributions: ${{ matrix.ros_distribution }}
- name: build and test ROS1
if: ${{ matrix.ros_version == 1 }}
uses: ros-tooling/action-ros-ci@0.0.19
with:
package-name: |
blue_bringup
blue_controller_manager
blue_controllers
blue_descriptions
blue_hardware_interface
blue_hardware_drivers
blue_msgs
target-ros1-distro: ${{ matrix.ros_distribution }}
vcs-repo-file-url: ""
2 changes: 1 addition & 1 deletion blue_bringup/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 2.8.3)
cmake_minimum_required(VERSION 3.0.2)
project(blue_bringup)

find_package(catkin REQUIRED COMPONENTS)
Expand Down
2 changes: 1 addition & 1 deletion blue_bringup/package.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<package format="2">
<package format="3">
<name>blue_bringup</name>
<version>0.0.0</version>
<description>Bringup scripts and launch files for Blue</description>
Expand Down
2 changes: 1 addition & 1 deletion blue_controller_manager/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 2.8.3)
cmake_minimum_required(VERSION 3.0.2)
project(blue_controller_manager)

add_compile_options(-std=c++11)
Expand Down
6 changes: 3 additions & 3 deletions blue_controller_manager/package.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<package format="2">
<package format="3">
Comment thread
brentyi marked this conversation as resolved.
<name>blue_controller_manager</name>
<version>0.0.0</version>
<description>
Expand All @@ -24,11 +24,11 @@
<depend>blue_hardware_interface</depend>
<depend>joint_limits_interface</depend>
<depend>kdl_parser</depend>
<depend>orocos_kdl</depend>
<depend condition="$ROS_DISTRO != noetic">orocos_kdl</depend>
<depend condition="$ROS_DISTRO == noetic">liborocos-kdl-dev</depend>
<depend>roscpp</depend>
<depend>urdf</depend>
<depend>control_toolbox</depend>
<depend>control_msgs</depend>
<depend>blue_msgs</depend>

</package>
2 changes: 1 addition & 1 deletion blue_controllers/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 2.8.3)
cmake_minimum_required(VERSION 3.0.2)
project(blue_controllers)

add_compile_options(-std=c++11)
Expand Down
5 changes: 3 additions & 2 deletions blue_controllers/package.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<package format="2">
<package format="3">
<name>blue_controllers</name>
<version>0.0.0</version>
<description>Source code for our custom controller plugins</description>
Expand Down Expand Up @@ -27,7 +27,8 @@
<depend>gripper_action_controller</depend>
<depend>joint_trajectory_controller</depend>
<depend>kdl_parser</depend>
<depend>orocos_kdl</depend>
<depend condition="$ROS_DISTRO != noetic">orocos_kdl</depend>
<depend condition="$ROS_DISTRO == noetic">liborocos-kdl-dev</depend>

<!-- The export tag contains other, unspecified, tags -->
<export>
Expand Down
2 changes: 1 addition & 1 deletion blue_core/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 2.8.3)
cmake_minimum_required(VERSION 3.0.2)
project(blue_core)
find_package(catkin REQUIRED)
catkin_metapackage()
2 changes: 1 addition & 1 deletion blue_core/package.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<package format="2">
<package format="3">
<name>blue_core</name>
<version>0.0.0</version>
<description>The blue_core metapackage contains all the basic software for running and using a Blue robot arm</description>
Expand Down
2 changes: 1 addition & 1 deletion blue_descriptions/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 2.8.3)
cmake_minimum_required(VERSION 3.0.2)

project(blue_descriptions)

Expand Down
2 changes: 1 addition & 1 deletion blue_descriptions/package.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<package format="2">
<package format="3">
<name>blue_descriptions</name>
<version>1.0.0</version>
<description>URDF files, 3D models, and other physical descriptors</description>
Expand Down
29 changes: 19 additions & 10 deletions blue_hardware_drivers/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
cmake_minimum_required(VERSION 2.8.3)
cmake_minimum_required(VERSION 3.0.2)
project(blue_hardware_drivers)

# add modules for finding JSONCPP
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")

## Compile as C++11, supported in ROS Kinetic and newer
add_compile_options(-std=c++11)

Expand All @@ -15,15 +18,18 @@ find_package(catkin REQUIRED COMPONENTS
sensor_msgs
blue_msgs
)
find_package(JSONCPP REQUIRED)

catkin_package(
INCLUDE_DIRS include
LIBRARIES blue_hardware_drivers
CATKIN_DEPENDS roscpp rospy sensor_msgs serial std_msgs
DEPENDS JSONCPP
)
include_directories(include include/blue_hardware_drivers)
include_directories(
include
${catkin_INCLUDE_DIRS}
${JSONCPP_INCLUDE_DIRS}
)

add_library(${PROJECT_NAME}
Expand All @@ -32,7 +38,9 @@ add_library(${PROJECT_NAME}
src/Packets.cpp
src/crc16.cpp
src/Buffer.cpp
json_src/json.cpp
)
target_link_libraries(${PROJECT_NAME}
${JSONCPP_LIBRARY}
)

add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
Expand All @@ -57,11 +65,11 @@ target_link_libraries(BLDCDriver_communication_freq_test


## Mark executables and/or libraries for installation
#install(TARGETS BLDCDriver
# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
#)
install(TARGETS ${PROJECT_NAME}
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

install(TARGETS BLDCDriver_communication_freq_test
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
Expand All @@ -70,8 +78,9 @@ install(TARGETS BLDCDriver_communication_freq_test
)

## Mark cpp header files for installation
install(DIRECTORY include/blue_hardware_drivers
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
install(DIRECTORY include/
DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION}
FILES_MATCHING PATTERN "*.h"
)

## Mark Python scripts for installation
Expand Down
Loading