Skip to content

CI: Add build workflow#97

Merged
AndrejOrsula merged 5 commits intomainfrom
devel
Jun 8, 2025
Merged

CI: Add build workflow#97
AndrejOrsula merged 5 commits intomainfrom
devel

Conversation

@AndrejOrsula
Copy link
Owner

Add ros-deb-builder-action CI workflow, as suggested by @christian-rauch in #92 (comment).

@christian-rauch
Copy link
Collaborator

Regarding your comment #92 (comment):

Thank you for the suggestion. I added the CI workflow in #97, and it seems to pass for humble, jazzy, and rolling ~ but it does not really test anything besides installing this package. Currently, pymoveit2 does not have any tests, so it might be difficult to get much more use out of that workflow.

The workflow generates Debian packages in isolated builds and, besides testing the package build itself, tests that all package dependencies are properly defined.

I used this before for C++ / binary packages, and it helped me to discover missing package dependencies, as those would result in build or linking errors in the isolated build. It is easy to miss those during regular usage as the dependency will already be installed manually or as dependency of another package.

Since this is Python code only, I guess there are no checks in place to compare the imports with the dependency declaration.

If the dependencies are properly defined and the Python module is correctly installed, you should be able to install the ros-jazzy-pymoveit2_0-2025.05.11.14.17_amd64.deb package from https://github.com/AndrejOrsula/pymoveit2/tree/noble-jazzy-amd64 on a fresh system and use it without installing additional packages.

So before continuing with a bloom release, the first goal should be to have jspricke/ros-deb-builder-action produce fully functional pymoveit2 Debian packages that can be installed on a fresh system with full dependency definition.

@christian-rauch
Copy link
Collaborator

I just tested sudo apt install ./ros-jazzy-pymoveit2_0-2025.05.11.14.17_amd64.deb and this failed because of the missing package trimesh. This is the dependency I added with #96, albeit as python3-trimesh-pip, which resolves to the pip package trimesh. It does not seem right to me that the package is generated without issues, but we could test the installation of the package in the CI too. This should report missing packages right away.

In any case, since trimesh is not available as Debian package in Ubuntu 24.04, it cannot be included as dependency for its Debian package. It is available as Debian package python3-trimesh from Ubuntu 25.04 onward. If we want to bloom pymoveit2, we should either remove that dependency again (and tell users to pip install trimesh it) or provide yet another bloom package for trimesh, which would be additional effort.

Signed-off-by: Andrej Orsula <orsula.andrej@gmail.com>
Signed-off-by: Andrej Orsula <orsula.andrej@gmail.com>
@AndrejOrsula AndrejOrsula merged commit c2dda9e into main Jun 8, 2025
5 checks passed
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.

2 participants