I just made a PR to the shields.io project to add version badge support for ROS packages. This will allow ROS projects to embed a small image in their websites or Markdown READMEs that will show the latest version of a package available in a certain distro. For instance, https://img.shields.io/ros/v/noetic/moveit_msgs.svg would return a SVG image that looks like this:
The PR is here – I’d welcome any feedback or input on how I am interpreting the repo’s tags and the distribution.yaml files.
Thanks for the heads up. I’m not sure if I fully understand your point — are you saying that there is a problem with the way this badge is implemented, or just that I’m using the wrong terminology, or something else?
The first badge points to the “navigation” repository of the ros-planning github organization. However, that’s not a package: that’s just a repository. The actual package is DWA, navfn, etc, found within that repository. The second badge points to navfn, which is an actual package (and therefore has a version, can be installed, etc). Yet, this package is not found by the shield.
It seems to me like the shield is incorrectly conflating ‘repository’ with ‘package’: while these are often the same, it is common to see many packages in one repository, and they may not be the same version. Even in the cases where these are the same, what happens if I create a “navigation” repository on my github account? The ROS distribution wouldn’t find a problem with that (so long as the package names remain unique), but that would cause a conflict for these badges.
I think the answer to your question is that there’s likely an implementation problem. This is really cool though, and once it gets ironed out I look forward to putting it on my packages!
It uses the latest version that has actually gone out in a sync (by checking git tags), not just the one from main. It should show up when the sync goes out!
If desired, we could add a feature to display the latest version, but the intent here was to help users understand what the latest easily installable version of the package is.