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 \