jobs:
build:
name: Build debian packages
strategy:
fail-fast: false
matrix:
platform:
- platform: linux/arm64
runner: "buildjet-4vcpu-ubuntu-2204-arm"
- platform: linux/amd64
runner: "buildjet-2vcpu-ubuntu-2204"
distro:
- ubuntu: jammy
ros2: humble
- ubuntu: noble
ros2: jazzy
- ubuntu: noble
ros2: rolling
uses: Auterion/ros-debian-workflow/.github/workflows/build-ros-debian.yml@main
with:
platform: ${{ matrix.platform.platform }}
ubuntu-distro: ${{ matrix.distro.ubuntu }}
ros2-distro: ${{ matrix.distro.ros2 }}
runner: ${{ matrix.platform.runner }}
source-prefix: px4_ros2_cpp # Optional, defaults to '.'
secrets: inheritThis will also publish the packages to Cloudsmith if the release event is triggered.
Debian packages can be built locally. To do so, first build the build environment docker container (only required once):
./build_env.shThen, build a package:
./build_pkg.sh <path/to/package> <version> [<.deb dependencies>]For example:
./build_pkg.sh px4-ros2-interface-lib/px4_ros2_cpp 0.0.100 \
ros-humble-px4-msgs_0.0.100-0jammy_arm64.deb