-
Notifications
You must be signed in to change notification settings - Fork 5
Add per-package build farm status table #25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
782fe5b to
923f3fd
Compare
|
I have not looked into why the Rolling fault controller binary jobs are failing or why all the source CI jobs using upstream source checkouts are failing. @christophfroehlich could you review my explanation of the different CI jobs in https://github.com/PickNikRobotics/picknik_controllers/tree/pr-add-build-farm-status-table?tab=readme-ov-file#source-repository-status ? I believe the CI here was originally generated from some ros2_control boilerplate. |
christophfroehlich
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds familiar to ros2_control, which is now documented here
Why renaming it mixed release, instead of semi-binary?
| - **Mixed Release**: Main Bin & Upstream Src: Builds source plus `picknik_controllers.<ros-distro>.repos` (intended to list additional repositories than `picknik_controllers-not-released.<ros-distro>.repos`) with dependencies retrieved from ROS 2 "main" release repository. | ||
| - **Mixed Release**: Testing Bin & Upstream Src: Builds source plus `picknik_controllers.<ros-distro>.repos` with dependencies retrieved from ROS 2 "testing" release repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - **Mixed Release**: Main Bin & Upstream Src: Builds source plus `picknik_controllers.<ros-distro>.repos` (intended to list additional repositories than `picknik_controllers-not-released.<ros-distro>.repos`) with dependencies retrieved from ROS 2 "main" release repository. | |
| - **Mixed Release**: Testing Bin & Upstream Src: Builds source plus `picknik_controllers.<ros-distro>.repos` with dependencies retrieved from ROS 2 "testing" release repository. | |
| - **Mixed Release Main Bin & Upstream Src**: Builds source plus `picknik_controllers.<ros-distro>.repos` (intended to list additional repositories than `picknik_controllers-not-released.<ros-distro>.repos`) with dependencies retrieved from ROS 2 "main" release repository. | |
| - **Mixed Release Testing Bin & Upstream Src**: Builds source plus `picknik_controllers.<ros-distro>.repos` with dependencies retrieved from ROS 2 "testing" release repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this is definitely inspired by the ros2_control boilerplate was used originally. I couldnt find a similar table explanation in any of the ros2_control repos though, so thanks for the docs link!
For the semi-binary job, I am unclear on what gets pulled from where by reusable-industrial-ci-with-cache.yml.
The docs says:
semi-binary - against released core ROS packages (main and testing), but the immediate dependencies are pulled from the source. This shows that local build with dependencies is possible, and if it fails there, we can expect that after the next package sync, we will not be able to build.
In the case of https://github.com/PickNikRobotics/picknik_controllers/blob/main/.github/workflows/jazzy-semi-binary-build-testing.yml:
released core ROS packages (main and testing)
This is the stuff in picknik_controllers.jazzy.repos, correct ?
immediate dependencies are pulled from the source
Is this just meaning all other dependencies not in picknik_controllers.jazzy.repos are pulled as normal (e.g. from release main repo) ? Or is there supposed to be some other .repos file that it checks those packages out from source code?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
only the repos files given as input to industrial-ci will be used, the other dependencies will be pulled by rosdep.
Adding a per-package build farm status table (inspired by ros2_control) to provide some more granular info on debian release health for Ubuntu. I did not add RHEL to the table to keep it more manageable, and also because setting up the table the first time with all the magic URLs is annoying.
Screenshot of new README tables: