Standard tool to do version bumps

Hello everyone,

I’d like to introduce tooling to do version bumps of projects. Currently we have a lot of projects that do bumps in slightly different ways. By using a tool that has config in the projects git repository it’ll be standardized.

Personally I like bump2version. Maybe because I’m one of the maintainers or that it’s packaged in Fedora. Either way, you can add a config:

Then it’s simply bumpversion patch (or minor/major).

My question is: which tool do people prefer.

2 Likes

What is the benefit of this tool vs just bumping the version in version file and using rake release? I think all plugins and projects distributed as gems have this task, it comes from bundler.

I think it would help the conversation to enumerate what the core parts of a version bump / release you are wanting to see changed (e.g. signed tags, true github releases). Unless it is simply just about standardizing the format of the bump in which case maybe some examples of difference you’ve seen would help.

The exact file(s) to modify differs per project. Some store it in the gemspec, others in lib/<project/version.rb. Core projects use VERSION. Maybe some store it in multiple places.

There’s also some projects that tag as v1.2.3 while others use 1.2.3.

You can argue that it’s not hard to do this (and it isn’t), but it’s tedious to find the differences which makes it easy to mistake. I’m looking for a single unified way to do bump a release and tag it.

Actually pushing the releases would IMHO be out of scope.

For rubygems, rake release would be something I would prefer, and leaving it up to the owner what they will run as part of it.

+1 to any tool, doesn’t really matter to me which. I know i’ve messed up this in the releases i’ve done manually. Also if we have some tool maybe we can automate more of the releases in the future.