Engine/ReleaseProcess

Engine Release Process

This will be formalised into documentation here, but here’s the discussion between Volker and I this morning for future reference to adapter and engine devs.

<darthmama> So you and Lars have been talking about the need for stable branches, releases, etc. Can we have a short conversation about how this needs to be done? I am very happy to do it/manage the process and backports, but I need to know what the constraints are.

08:50 <darthmama> We’ve been putting off release process planning forever, and I’m happy to work with others to get it set up and going, but first I need to know what the must-dos are.
09:46 <fdik> We didn’t talk about it too much
09:46 <fdik> But I’ve a concept in mind
09:46 <fdik> The basic idea:
09:46 <fdik> (good morning, Dearest Darth of all Black Sith! ;-)
09:46 <fdik> - we develop in default
09:46 <fdik> - we tag minor releases
09:46 <fdik> - we have feature branches, which we merge after completion
09:47 <fdik> - we branch major releases
09:47 <fdik> A major release is when incompatilibities do or can occur
09:49 <darthmama> also good morning :)
09:50 <darthmama> ok. this is actually, except for the last point, what we do already
09:52 <fdik> yes
09:52 <fdik> What we should add is a branch when we’ll risk (or create) incompatibilities
09:52 <darthmama> so, for example, we need to have a new major release for the decrypt_message API changes
09:53 <darthmama> because that’s breaking stuff.
09:53 <fdik> And we branch away the OLD version
09:53 <darthmama> sure
09:53 <fdik> yes
09:53 <darthmama> so, in this case, we’d branch away just before ENGINE-423
09:53 <darthmama> and backport bug fixes, I presume
09:54 <darthmama> ok, next… release numbering
09:54 <darthmama> we can do major.minor.patch
09:54 <darthmama> but when to start with that? right now it’s just “sequential numbers”
09:55 <darthmama> I can clean up and do a pre-423 major release today as a sort of Testkandidat for the process (and to make Claudio hurt less ;)
09:56 <darthmama> But I need to know what we number it ;)
09:56 <fdik> I’d say, let’s start with it
09:56 <fdik> Let’s NOT support before ENGINE-423 any more, but leverage all on top of it
09:56 <fdik> And call this 1.0.423
09:57 <darthmama> ok, works for me.
09:57 <darthmama> I’ll go work through JIRA and get it sorted, tag repositories, etc.
09:57 <fdik> It’s very nice to have 423 in it – it’s the smallest number combining 23 and 42
09:57 <fdik> :-)
09:57 <darthmama> laugh
09:57 <darthmama> bangs head
09:58 <fdik> Another one:
09:59 <fdik> the adapters MUST use the same major minor
09:59 <fdik> BUT:
09:59 <fdik> They may be “older”
09:59 <fdik> For minor changes