How to achieve a consistent version and Git Workflow when working in multiple languages.
I currently have 20 open source ruby GEM’s KlueLess that I regularly work on.
I’m moving into Javascript Apps, mostly Nuxt/Vue3, but also some packages.
I can see my self also writing a few Python Spiders.
I’m a single developer, and my scenario does not include team members, but of course that should be supported.
In the past I have used Git Flow and most of my pushes are done via hotfixes and I have a hooks/update-version
file which takes care of updating my Ruby GEM version numbers whenever a new GEM is released.
My current solution is very efficient for the ruby GEMs, I just do hf 'some message'
and a new Hot Fix is created, merged into master, pushed and the patch number is automatically updated both as a git tag
and as VERSION
constant that shows up in the gemspec
I don’t tend to do PR’s on my own GEMs, I just hotfix straight into master and that works well for me.
I want to keep a simple branching strategy and also use SemVer (Major, Minor & Patch) across Ruby, Javascript, Python while having very simple tooling.
I find that git flow
has too many features that I don’t use, and so I am looking at github flow
, but the issue around updating package.json
versions, gemspec
versions and other languages is still in question for me.
I guess I can write my own /hooks template and have a template per scenario (aka language). But I thought there might be an existing tool that is well suited to my use case.
I’ve had a look at GitVersion
which seems to be well featured for SemVer but seams aimed at dotnet
code bases.