Skip to content
This repository has been archived by the owner on Dec 10, 2024. It is now read-only.

Roadmap to the first release of the ROS package #14

Open
j-rivero opened this issue Mar 21, 2024 · 5 comments
Open

Roadmap to the first release of the ROS package #14

j-rivero opened this issue Mar 21, 2024 · 5 comments

Comments

@j-rivero
Copy link
Collaborator

j-rivero commented Mar 21, 2024

The issue summarize the actions related to finalize the release of Drake into the official ROS Buildfarm. It includes mandatory (required) actions and improvements marked as such. When some of the fields are missing for some items it means that they do not apply (i.e: no Follow-ups means nothing needs to be done after the completion of the item).

Drake upstream source code

ros-drake-vendor source code

ROS buildfarm changes

  • [ 🔥 required] Increase timeout for the Drake build when releasing

    • Reason: the current buildfarm has a limit of 120 minutes timeout for building. While the OSRA infra team adopts one of the solutions / workaround proposed, the Drake team will require the OSRA infra team to remove the limitation manually when a new release of Drake is going to be made.
    • Next-step by: OSRA to implement a solution. Drake team to require OSRA infra assistance when releasing.
    • Follow-ups for the Drake team: if the per-package timeout is implemented, include Drake in the ros_buildfarm configuration with a higher timeout.
  • [ 🔥 required] ROS buildfarm uses ccache while Drake refuse to be built with it #9

    • Reason: Drake can not be build with the ccache wrapper and the Buildfarm uses it. The issue links to a PR to remove the ccache in the ROS buildfarm since it is not really in use in package building.
    • Next-step by: OSRA infra team to iterate and merge the PR.

First release configurations

  • ROS Release / Ubuntu version to chose: all the testing (until the time of writing) has been done using the Ubuntu Jammy LTS 22.04. For the first official release is probably a good not to use ROS 2 Rolling (migrated last week to Ubuntu Noble 24.04) but to use ROS 2 Humble that runs on Jammy. The github action setup in this repo (merged in Initial ROS drake package and repository information #6) runs this configuration.
  • Releasing a ROS package: standard instructions using bloom to release a ROS package will apply for the first time release.
@j-rivero
Copy link
Collaborator Author

Updated: introduced as required #16.

@j-rivero
Copy link
Collaborator Author

Removed:

The initial support for limiting the threads has been merged.

@j-rivero j-rivero pinned this issue Mar 26, 2024
@j-rivero
Copy link
Collaborator Author

Update: problems with CI for the 1.27 release

@j-rivero
Copy link
Collaborator Author

j-rivero commented Apr 1, 2024

Removed:

  • [optional] Build artifacts can not be removed on the Jenkins buildfarm #11
    • Reason: if the PR is not merged, the ROS buildfarm will present problems of cleaning up the workspace after the first build. Marked as optional since the ROS buildfarm team can operate the cleanup manually.
    • Next-step by: OSRA infra team to iterate and merge the PR.

@j-rivero
Copy link
Collaborator Author

Updated after lcm 1.5 landed in Ubuntu Nodle (next step for drake team):

  • [optional] Use system versions of lcm on Ubuntu Noble
    • Reason: avoid problems detailed in lcm packaging (libjchart2d-java not available in rosdistro) #3. Current code installs the binaries under /opt/ros/rolling/opt/drake/bin/lcm-gen which is not in the PATH.
    • Follow-ups for the Drake team: add the lcm rosdep key to the rosdistro index, add it to the dependencies in package.xml and disable the build of lcm in Drake upstream code when building the ros-drake-vendor package.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant