tracks of stability. How do normal software people solve that? 😐
And I am talking about application software, not library or framework.
semver works pretty well for libraries and frameworks, but for applications?
How do applications like chrome handle releases with canary/beta/dev/stable? Do they just work on one branch and then just create individual releases manually? :S
I first tried to apply semver with multiple branches, but there are several up and downsides with that.
1. Using automatic versioning with tooling like semantic-release, I need to give each branch its own unique version. As in git, tags need to be unique..
So I had 1.0.0-a for alpha, 1.0.0-b for beta and 1.0.0-s for stable.
2. The version numbers are disconnected, because if I add 5 features to alpha branch, I'll have 1.5.0-a and once merging to beta, I get 1.1.0-b - since it counts all feature commits as once since the last merge. So just by looking at the version number it becomes hard to see how recent a version is..
When you want to release (merge staging branch into production), disable squash commits And also for merging back the production tag into staging branch and enabling hotfixes, use this plugin: https://github.com/saitho/semantic-release-backmerge I was one of the big fans of semantic release, but currently I found that it was terrible tool for handling releases and automating versioning process
yeah, also had my fair share of trouble with semantic-release..
Обсуждают сегодня