Skip to content

enable Python bindings for Windows and macOS #21

enable Python bindings for Windows and macOS

enable Python bindings for Windows and macOS #21

name: colcon workspace
on: [push, pull_request]
jobs:
# build on Ubuntu docker images
build_linux:
name: "Ubuntu (${{ matrix.ros_distribution }}, shared: ${{ matrix.cmake_shared_libs }})"
runs-on: ubuntu-latest
strategy:
matrix:
ros_distribution: [noetic, humble]
cmake_shared_libs: ['ON', 'OFF']
include:
- docker_image: ubuntu:20.04
ros_distribution: noetic
ros_version: 1
- docker_image: ubuntu:22.04
ros_distribution: humble
ros_version: 2
container:
image: ${{ matrix.docker_image }}
steps:
- name: install core dependencies
run: |
apt update
apt install --no-install-recommends -y git ca-certificates
- uses: actions/checkout@v4
- name: Setup ROS environment
uses: ros-tooling/[email protected]
- name: ROS 1 CI Action
if: ${{ matrix.ros_version == 1 }}
uses: ros-tooling/[email protected]
with:
package-name: apriltag
target-ros1-distro: ${{ matrix.ros_distribution }}
extra-cmake-args: "-DBUILD_SHARED_LIBS=${{ matrix.cmake_shared_libs }}"
- name: ROS 2 CI Action
if: ${{ matrix.ros_version == 2 }}
uses: ros-tooling/[email protected]
with:
package-name: apriltag
target-ros2-distro: ${{ matrix.ros_distribution }}
extra-cmake-args: "-DBUILD_SHARED_LIBS=${{ matrix.cmake_shared_libs }}"
# build on Windows native
build_windows:
name: "Windows (${{ matrix.ros_distribution }}, shared: ${{ matrix.cmake_shared_libs }})"
runs-on: windows-2019
strategy:
matrix:
ros_distribution: [noetic, humble]
cmake_shared_libs: ['ON', 'OFF']
include:
- ros_distribution: noetic
ros_version: 1
- ros_distribution: humble
ros_version: 2
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup ROS environment
uses: ros-tooling/[email protected]
- name: ROS 1 CI Action
if: ${{ matrix.ros_version == 1 }}
uses: ros-tooling/[email protected]
with:
package-name: apriltag
target-ros1-distro: ${{ matrix.ros_distribution }}
extra-cmake-args: "-DBUILD_SHARED_LIBS=${{ matrix.cmake_shared_libs }}"
- name: ROS 2 CI Action
if: ${{ matrix.ros_version == 2 }}
uses: ros-tooling/[email protected]
with:
package-name: apriltag
target-ros2-distro: ${{ matrix.ros_distribution }}
extra-cmake-args: "-DBUILD_SHARED_LIBS=${{ matrix.cmake_shared_libs }}"
# build on macOS native
build_macos:
name: "macOS (${{ matrix.ros_distribution }}, shared: ${{ matrix.cmake_shared_libs }})"
runs-on: macos-latest
strategy:
matrix:
ros_distribution: [humble]
cmake_shared_libs: ['ON', 'OFF']
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Setup ROS environment
uses: ros-tooling/[email protected]
- name: ROS 2 CI Action
uses: ros-tooling/[email protected]
with:
package-name: apriltag
target-ros2-distro: ${{ matrix.ros_distribution }}
extra-cmake-args: "-DBUILD_SHARED_LIBS=${{ matrix.cmake_shared_libs }}"