Here’s a couple things I’d like to avoid:

1) Issuing a patch release for every single commit that we back port onto a 
supported minor version.  This seems like a high cost approach.  Of course, 
some issues may be important enough to require that.

2) Merging a change to develop, and then having to come back weeks later and 
back porting the change to a release branch.  It just seems less optimal since 
I’ll have lost the context on the changes, particularly if the cherry-pick is 
non-trivial.

More comments below.

Anthony


> On Feb 24, 2020, at 2:16 PM, Owen Nichols <onich...@pivotal.io> wrote:
> 
> Hi Alexander, currently we don’t start a patch release until someone proposes 
> a critical fix, which then drives the release (the community may propose 
> “extra” fixes to tag along once a release branch is cut).  This keeps the 
> process simple, neat and tidy.
> 
> Another option I hadn’t thought of is to begin collecting “extra” fixes 
> proactively on a “dormant” branch, so that when someone finally proposes 
> releasing a patch, it will already be primed with a bunch of fixes.  This 
> adds complexity (does a different standard apply to bring fixes to a dormant 
> branch?  Are release branches separate from support branches?  How will 
> committers be able to keep track of what is dormant and what is not?)
> 

Why not just either a) keep the release branch alive? Or b) create a support 
branch from the release tag?

> To implement an N-2 support policy, does it make more sense for Geode to make 
> small focused patch releases when needed, or to maintain what amounts to “3 
> develop branches at all times”?
> 

To me, “develop branch” implies ongoing work.  I’m proposing “support branch” 
which means only important changes agreed upon by the project community.


> 
>> On Feb 24, 2020, at 11:00 AM, Alexander Murmann <amurm...@pivotal.io> wrote:
>> 
>> Thanks for proposing this, Anthony!
>> 
>> 
>>> I don’t think it’s necessary for this proposal to re-define or clarify
>>> what constitutes a critical fix; it sounds like the bar would be the same
>>> as the standard we already apply when back-porting to release branches
>>> (proposal /w justification, and 3 votes in favor).  The only difference
>>> seems to be that now proposals may list up to three target branches, not
>>> just one.
>>> 
>> re: Owen
>> TL;DR: +1 using the same process as we use for merging critical fixes
>> during an ongoing release seems appropriate.
>> 
>> Generally merging a fix to a dormant release branch seems less problematic
>> than merging a fix to an active release branch where a merge will reset all
>> release work that has already happened. The cost of merging to a
>> dormant release branch is much lower than merging to one that's being
>> actively released. Ideally we could just do a PR to merge fixes back in
>> most cases. Unfortunately, I believe it's unreasonable to expect that
>> everyone will be aware at all times what's actively being released and
>> what's not => Let's pretend we are always shipping these branches.
>> 
>> 
>> 
>> 
>> On Fri, Feb 21, 2020 at 7:35 PM Owen Nichols <onich...@pivotal.io> wrote:
>> 
>>> Thank you Anthony for proposing this “N-2” support policy.  It isn’t a big
>>> change, but it is helpful to know that the Geode PMC will now be standing
>>> behind (and ready to vote on) patch releases within a 9-month window.
>>> 
>>> Overall, this sounds much like how 1.9.1 and 1.9.2 started as community
>>> proposals, found a release manager, and went on to be successfully released.
>>> 
>>> I don’t think it’s necessary for this proposal to re-define or clarify
>>> what constitutes a critical fix; it sounds like the bar would be the same
>>> as the standard we already apply when back-porting to release branches
>>> (proposal /w justification, and 3 votes in favor).  The only difference
>>> seems to be that now proposals may list up to three target branches, not
>>> just one.
>>> 
>>> I also don’t think it’s necessary to alter our current process to maintain
>>> a standing "support/x.y" branch.  The proposal states that patch releases
>>> will be “ad-hoc (as needed)”.  Our current process serves this quite well:
>>> we propose a patch release at the time it is needed, then get a release
>>> manager and create a release branch specifically for that release (e.g.
>>> release/1.9.2 was created from the rel/v1.9.1 tag), then clean up
>>> afterwards so no unattended pipelines or branches linger.
>>> 
>>> The rotating release manager role has been a hallmark of the Geode
>>> community process, so I hope this proposal will not dissuade anyone
>>> interested in helping with a release.  However, getting the automation
>>> improvements we need will require some continuity over several releases.  I
>>> would love to volunteer for this!
>>> 
>>> -Owen
>>> 
>>>> On Feb 21, 2020, at 5:30 PM, Anthony Baker <aba...@apache.org> wrote:
>>>> 
>>>> Hi everyone,
>>>> 
>>>> I'd like to propose shipping patch releases of Geode as a way to
>>>> improve our engagement and support of our user community.  Please
>>>> review the details in the linked RFC [1] and kindly offer your
>>>> thoughts in this thread.
>>>> 
>>>> 
>>>> Thanks,
>>>> Anthony
>>>> 
>>>> [1]
>>> https://cwiki.apache.org/confluence/display/GEODE/Shipping+patch+releases
>>> 
>>> 
> 

Reply via email to