Ask Your Question

Ignore pkgs during initial bloom-release: master vs main branch

asked 2021-01-06 08:32:30 -0500

gvdhoorn gravatar image

As part of the release process for a new package, bloom-release will git clone the release repository and start adding branches and commits.

bloom-release seems to assume master is the default/main branch, and will create one if it doesn't exist.

For release repositories created on Github, and unless users have configured otherwise, new repositories will have their default branch set to main now instead of master.

This works OK for regular releases (as master will just be another branch to git and Github, and Bloom is able to find everything it needs just fine), but in case packages need to be ignored / excluded from an initial release, a ${ROS_DISTRO}.ignored file should be added to the master branch, or Bloom will not find it (it creates a master branch and ignores main completely, including the .ignored file in it).

I've not been able to find a command line arg which lets me specify the branch Bloom should use for this.

Is there a way to do this, or should I be approaching this in a different way?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-04-06 17:46:38 -0500

nuclearsandwich gravatar image

This is currently something that is hard-coded in Bloom: If you browse around in there you'll see some code which normalizes bloom's configuration to live on the bloom config branch. (before my time bloom's configuration lived on a bloom branch.)

Supporting other config branches, or if nothing else, reverting the config branch change so that we go back to using bloom is worthwhile but not something that I've got on any dedicated roadmap. No matter what we decide to hard code I'm sure that someone will find a complaint to make but I also can't think of a way to make it detectable that is completely robust with respect to temporary branches for pull request workflow changes to the bloom config branch.

edit flag offensive delete link more


I also can't think of a way to make it detectable that is completely robust

what about using the default branch?

I asked this question in the context of "rename master to main), and then running into the problem of Bloom not really working any more when you'd want to ignore certain packages.

I don't believe that'd need something which always works, as the context is pretty narrow:

  • first time release
  • 'empty' release repository
  • *.ignored file in the repository

re: where to store configuration: git notes comes to mind, but I guess it's actually pretty convenient to track Bloom's configuration as a versionable artefact, and that's not what notes are for afaik.

gvdhoorn gravatar image gvdhoorn  ( 2021-04-07 07:15:20 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2021-01-06 08:32:30 -0500

Seen: 36 times

Last updated: Apr 06