diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 5ab1b61e..3876b447 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -96,5 +96,49 @@ jobs:
--verbose \
./python
- name: "Python: Test"
+ env:
+ # libopenarm_can.so is installed into a non-standard location.
+ LD_LIBRARY_PATH: ${{ github.workspace }}/install/lib
run: |
python3 -c "import openarm_can"
+
+ ros:
+ name: ROS ${{ matrix.distro }}
+ runs-on: ubuntu-latest
+ timeout-minutes: 10
+ container: ros:${{ matrix.distro }}-ros-base
+ strategy:
+ fail-fast: false
+ matrix:
+ distro:
+ - humble
+ - jazzy
+ - rolling
+ steps:
+ - uses: actions/checkout@v7
+ with:
+ path: src/openarm_can
+ submodules: recursive
+ - name: Install dependencies
+ run: |
+ apt update
+ rosdep update --rosdistro ${{ matrix.distro }}
+ rosdep install \
+ --default-yes \
+ --from-paths src \
+ --ignore-src \
+ --rosdistro ${{ matrix.distro }}
+ - name: Build Debian package
+ working-directory: src/openarm_can
+ run: |
+ apt install -y -V \
+ debhelper \
+ dpkg-dev \
+ fakeroot \
+ python3-bloom
+ bloom-generate rosdebian --ros-distro ${{ matrix.distro }}
+ fakeroot debian/rules binary
+ - uses: actions/upload-artifact@v7
+ with:
+ name: ros-${{ matrix.distro }}-debian-packages
+ path: src/*.deb
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 37a4ece8..085da707 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,6 +28,8 @@ include(CTest)
include(GNUInstallDirs)
+option(BUILD_SHARED_LIBS "Build shared libraries" ON)
+
# Create the main library
add_library(
openarm_can
diff --git a/package.xml b/package.xml
index decdc578..2e164143 100644
--- a/package.xml
+++ b/package.xml
@@ -16,10 +16,12 @@ limitations under the License. -->
openarm_can
1.4.0
Low-level SocketCAN library and tools for OpenArm manipulators.
- Enactic, Inc.
+ Enactic, Inc.
Apache-2.0
- ament_cmake
+ cmake
+
+ cli11
cmake
diff --git a/packages/debian/rules b/packages/debian/rules
index 13716911..d7aa46d1 100755
--- a/packages/debian/rules
+++ b/packages/debian/rules
@@ -22,7 +22,6 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all
override_dh_auto_configure:
dh_auto_configure \
-- \
- -DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
dh_auto_configure \
--buildsystem=pybuild \