Skip to content

feat: prepare bridge for bloom release to rosdistro#8

Merged
rafal-gorecki merged 1 commit into
jazzyfrom
feat/bloom-release-prep
May 28, 2026
Merged

feat: prepare bridge for bloom release to rosdistro#8
rafal-gorecki merged 1 commit into
jazzyfrom
feat/bloom-release-prep

Conversation

@rafal-gorecki
Copy link
Copy Markdown
Contributor

@rafal-gorecki rafal-gorecki commented May 27, 2026

Summary

Prepare `rosbot_mavlink_bridge` for apt-installable distribution via bloom / rosdistro, with single canonical location for the MAVLink dialect headers.

  • Move canonical mavgen output into the bridge package (`bridge/rosbot_mavlink_bridge/mavlink_dialect/`) so bloom source tarballs are self-contained — bloom archives only the package subtree. Firmware (PlatformIO) reads from the same location via include path; one canonical copy, no mirror, no parity check needed.
  • Bloom-ready package.xml — adds `` and `` tags.
  • Release workflow — `bump-tag` now bumps bridge `` in lockstep with firmware (suffix-stripped per bloom rules). New `bridge-bloom-release` job pushes to `husarion/rosbot_mavlink_bridge-release` and opens the rosdistro PR via the `HUSARION_BOT` App (which needs its installation extended to the release repo + the maintainer's fork of `ros/rosdistro`).
  • CI — `verify-dialect` diffs against the new location. `build-bridge` unchanged in shape.
  • Pre-commit — `exclude` repointed to new dialect path so vendored headers don't trip `ament_copyright` / `clang-format` / `codespell`.
  • Docs — `ARCHITECTURE.md`, `bridge/README.md`, `lib/mavlink/dialect/README.md` synced.

Paired PR in `rosbot_ros`: husarion/rosbot_ros#179 (declares the bridge as an `exec_depend` of `rosbot_bringup`).

One-shot setup needed before bloom job runs green

  1. Create empty `husarion/rosbot_mavlink_bridge-release` repo.
  2. Add it + `husarion/rosdistro` (fork of `ros/rosdistro`) to the `HUSARION_BOT` App installation.
  3. Locally at the next release tag, run `bloom-release --new-track --rosdistro jazzy --track jazzy --release-repo-url git@github.com:husarion/rosbot_mavlink_bridge-release.git rosbot_mavlink_bridge` and push the resulting `master` branch. Release tag pattern: `v:{version}-jazzy`.
  4. Re-run the release workflow.

Full checklist also lives in the `bridge-bloom-release` job comment.

Test plan

  • `pio run -e rosbot` — green (4.6s)
  • `pio run -e rosbot_xl` — green (4.6s)
  • `colcon build --packages-select rosbot_mavlink_bridge` — green (18.5s)
  • `just mavgen` idempotent (byte-identical regen, modulo `MAVLINK_BUILD_DATE`)
  • `pre-commit run` on staged — green
  • YAML syntax check on `release.yaml` + `ci.yaml`
  • Will validate on actual workflow dispatch after one-shot setup is in place

Move canonical mavgen output into the bridge package
(bridge/rosbot_mavlink_bridge/mavlink_dialect/) so bloom source
tarballs are self-contained — bloom archives only the package
subtree. Firmware (PlatformIO) reads from the same location via
include path; single source of truth, no mirror.

Release workflow now bumps bridge <version> in lockstep with
firmware (suffix-stripped per bloom rules) and runs a bridge-bloom-release
job that pushes to husarion/rosbot_mavlink_bridge-release and opens
the rosdistro PR via the HUSARION_BOT App.
@rafal-gorecki rafal-gorecki merged commit 693e31e into jazzy May 28, 2026
5 checks passed
@rafal-gorecki rafal-gorecki deleted the feat/bloom-release-prep branch May 28, 2026 08:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant