[noetic] Build failed in Jenkins: debian/buster could not resolve rosdep key
I'm getting daily mails about jenkins failing for one of the repositories that I maintain and that I released to noetic: https://github.com/ipa320/cob_command_tools
The mail points me to failed builds: e.g. for
http://build.ros.org/job/Nsrc_dB__cob_monitoring__debian_buster__source/49/
One of the packages (cob_monitoring
) specifies a dependency that is not available for debian/buster (python3-mechanize
).
I specify this dependency with a condition on ROSPYTHONVERSION:
https://github.com/ipa320/cob_command_tools/blob/indigo_dev/cob_monitoring/package.xml#L35-L36
Because python-mechanize
is not available for focal
and python3-mechanize
is not availabe for xenial
/bionic
.
During the bloom-release
step, this was mentioned and I confirmed to skip that generator:
see https://github.com/ipa320/cob_command_tools/issues/289
How can I prevent the buildfarm from still trying to build for debian/buster?
Or can I modify the dependency condition so debian/buster also uses python-mechanize
instead of python3-mechanize
?
Thanks
Edit: thanks for the PR for cob_monitoring
- I'm no longer receiving the failure reports for that package anymore
still, I receive failure reports for the other packges included in cob_command_tools
repository:
cob_command_gui
: http://build.ros.org/job/Nsrc_dB__cob_command_gui__debian_buster__source/11/display/redirectcob_command_tools
: http://build.ros.org/job/Nsrc_dB__cob_command_tools__debian_buster__source/11/display/redirectcob_dashboard
: http://build.ros.org/job/Nsrc_dB__cob_dashboard__debian_buster__source/54/display/redirectcob_helper_tools
: http://build.ros.org/job/Nsrc_dB__cob_helper_tools__debian_buster__source/54/display/redirectcob_script_server
: http://build.ros.org/job/Nsrc_dB__cob_script_server__debian_buster__source/54/display/redirectcob_teleop
: http://build.ros.org/job/Nsrc_dB__cob_teleop__debian_buster__source/54/display/redirectcob_generic_throttle
: http://build.ros.org/job/Nsrc_dB__generic_throttle__debian_buster__source/54/display/redirectcob_service_tools
: http://build.ros.org/job/Nsrc_dB__service_tools__debian_buster__source/54/display/redirect
I can't relate any missing debian/buster dependency to these failures - in contrary to cob_monitoring
Any idea why these packages do not pass?
I see fatal: Remote branch debian/ros-noetic-cob-command-gui_0.6.19-1_buster not found in upstream origin
in the logs.
Does that mean I have to re-do a bloom-release
?
Should the missing remote branch not disable the buildfarm for this job?
Asked by Felix Messmer on 2020-12-03 03:25:02 UTC
Answers
You can blacklist packages for a specific platform in the ros_buildfarm_config. Here's an example of doing it for builds on buster: https://github.com/ros-infrastructure/ros_buildfarm_config/pull/183
PS: Switching the dependency conditionally won't make a difference because the python version will still be python3 which means that it won't find the python-mechanize
python 2 libraries anyway.
Asked by tfoote on 2020-12-03 13:57:54 UTC
Comments
Opened a PR to blacklist cob_monitoring on Buster in Noetic: https://github.com/ros-infrastructure/ros_buildfarm_config/pull/187
Asked by sloretz on 2020-12-03 15:19:37 UTC
Comments
All of those should be blacklisted too. Just like the above if you skipped the step in bloom. Unless they are blacklisted the buildfarm considers it an error and will tell you that you've asked for them to be built(by putting it in the rosdistro and not blacklisting it) but it's missing resources and it tells you the missing resources.
Asked by tfoote on 2020-12-08 20:57:05 UTC
the respective PR is waiting for review/comments: https://github.com/ros-infrastructure/ros_buildfarm_config/pull/189
Asked by Felix Messmer on 2021-01-04 08:39:50 UTC