Repository navigation
Snap packaging - #17
Open
Guillaumebeuzeboc wants to merge 26 commits into
Open
Guillaumebeuzeboc wants to merge 26 commits into
Guillaumebeuzeboc wants to merge 26 commits into
Conversation
…, minimal smoke test)
Replace the hardcoded version: 0.5.0 with version: git + adopt-info so a pushed tag (e.g. v0.5.0) drives the published snap version. The pj_bridge part computes the version from git describe and sets grade=stable on a clean tag / grade=devel when ahead of a tag.
…ssions - Add integration-test job that installs the snap and runs the end-to-end suite (host ROS 2 publisher -> bridge -> ws_reader), restoring the coverage that was inline before the PlotJuggler alignment. - Gate release and publish behind integration-test (needs: [snap, integration-test]) so a failing test blocks tag-driven releases. - Remove the redundant workflow-level 'permissions: contents: write'; keep it scoped to the release job that actually needs it. - Update the header comment to describe the current pipeline.
DOWNLOAD_EXTRACT_TIMESTAMP requires CMake >= 3.24, but Ubuntu 22.04 ships CMake 3.22, where the unknown option fails configuration.
The integration test only needs a host-side ROS 2 publisher (rclpy + std_msgs). Replace ros-tooling/setup-ros@v0.7 -- which installs the full ros-base metapackage plus colcon/rosdep/vcstool dev tooling -- with a direct apt install of ros-jazzy-rclpy, ros-jazzy-std-msgs and ros-jazzy-rmw-fastrtps-cpp (--no-install-recommends).
The app forces UDP-only DDS via FASTRTPS_DEFAULT_PROFILES_FILE (fastrtps_no_shm.xml), so the Fast DDS shared-memory transport is never used and the shared-memory plug is unnecessary.
The ros2-jazzy extension plus the colcon plugin's rosdep resolution of package.xml now provide the ROS packages. Remove them from the manual build-packages/stage-packages lists. Keep only git (override-pull git describe) and libssl-dev/zlib1g-dev (IXWebSocket TLS/zlib, pulled via FetchContent, not declared in package.xml).
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Jeremie Deray <deray.jeremie@gmail.com>
…y/stable Replace the GitHub Release job with a Snap Store publish to jazzy/candidate on tag pushes, and add a manual workflow_dispatch promote job that moves the current candidate revision to jazzy/stable. Scope top-level permissions to contents: read since store auth uses SNAPCRAFT_STORE_CREDENTIALS.
…n-build Aligns the build action with the canonical/action-publish action already used downstream. Same 'snap' output, so the artifact path wiring is unchanged.
address PR review: reusable snap workflows, ros2cli test, trim comments
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hello,
this PR adds snap packaging for
pj-bridge, allowing users to install it with a single command:and then run it with:
A beta version is already available on the Snap Store. Ownership of the snap can be transferred to your preferred publisher account.
This PR includes:
snapcraft.yamldefinition to build and runpj-bridgeas a strictly confined application.I have also requested additional tracks so we can extend the CI to publish snaps for multiple ROS 2 distributions in the future.
Merging this PR will require to add the
SNAPSTORE_LOGINsecret generated from an account associated with the snap.