ros-infrastructure / ros_buildfarm

ROS buildfarm based on Docker
Apache License 2.0
77 stars 95 forks source link

Add support for custom_rosdep_urls in build files #1055

Closed j-rivero closed 3 weeks ago

j-rivero commented 1 month ago

In addition to the existing support of the parameter custom_rosdep_urls for the doc and source files, the PR adds the support for the build files so it can be used for things like nightly jobs.

I tested it here https://citest.build.osrfoundation.org/view/Rci/job/Rci__nightly-release_ubuntu_noble_amd64/26/ which builds gz-rendering8 (outside of ROS) using the packages.osrfoundation.org repository and an external rosdep rule to resolve libogre-next-2.3-dev to the package of the same name hosted in packages.o.o.

j-rivero commented 1 month ago

The block you added the documentation to is specific to CI jobs, but the file you added the actual configuration support to is global to many job types. I think it might be more appropriate to add the config to ci_build_file.py rather than the global build_file.py.

Alternatively, we could keep the config change in build_file.py and move the documentation block, but in that case I think we would need to remove the configuration and documentation in the other specific jobs that already have it, and now inherit support from build_file.py. That said, I'm not sure that every job type that inherits from build_file.py can use rosdep to begin with, so I'm a little wary of this approach.

Thanks for the hint and the context. I agree on going conservative and restrict the change to the ci_build_file instead of trying to push a more general approach that we are not sure how it would go in some scenarios.

Changed the code in 7884b1a