Release process / Branching strategy #368
Replies: 3 comments 6 replies
|
Usually a dev, a canary, and latest could work in the sense that those that want the newest stuff can use the canary branch, and once it settles we can merge into latest. It really depends on stability IMO. If we can grok through tickets, ad-hoc releases are fine if the scope is small. If they're GIANT breaking changes, we would have to be more measured. I think SemVer would help keep that under wraps. People could major version lock if they don't want to deal with breaking changes. And when an RC comes about with breaking changes, we'd increment the major version. 2.x -> 3.x. That way we observe major/minor/patch I do want to preface that I am currently working on building the repos to submit to TrueNAS and Unraid natively as first-class plugins. I just want the latest branch to stabilize and mature a bit, but I have a local commit waiting to rebase and push. We'd also need icons etc. |
|
The versions currently are bumped automatically on the latest branch using x.y.z format, with x = major, y = minor, z = patch. My thinking was to use minor for new features. Patches for bug fixes. and Major for breaking changes. PS: We don't have to change things if they work, I'm not hung up on it. Just asking what you all feel would make sense / feel more natural, since this is all a bit "self-invented" in absence of better knowledge. |
|
Current dev -> latest flow works well for the pace we're at. SemVer is already in place via the tag action which is good. Two things I'd be open to for the future:
No strong opinion on changing things just to change them. If jrhager84's TrueNAS/Unraid packaging needs a more structured release cadence we can adapt then. |
Uh oh!
There was an error while loading. Please reload this page.
@lolimmlost , @jrhager84
hi both
I was wondering if you have any thoughts on the release process/branching strategy.
Currently, we brach out of dev, merge features into dev, which builds the dev image. Eventually, we merge dev into latest, which creates a new version.
this is a process I created because a) I didn‘t know any better, b) as I didn‘t trust my own coding skills and thus wanted to first release to dev to a small audience, before ruining everyone elses life ;)
If you have any ideas how to change the setup to make it better/aligned to best practices/easier to collaborate: keen to hear your ideas!
Also, how often should we push dev to latest?
All reactions