Robotics StackExchange | Archived questions

[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:

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

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

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-mechanizepython 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