You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by zhiwei <zh...@gmail.com> on 2015/12/09 11:49:50 UTC

Can anyone help me understand the Mesos release model

Hi all,

I'm confused with the Mesos release model.

Can anyone tell me when and how to create a release tag?

Take 0.26.0 release tags as example:

I found that the commit history of tag 0.26.0-rc1 and branch master become
different since commit *2da4db5*, but the HEAD of tag 0.26.0-rc1 is
*9965e96*.

So can I say that the tag 0.26.0-rc1 was created at commit *2da4db5*, then
pick up the commits between *2da4db5  *and *9965e96* on master branch?

When and how to create 0.26.0-rc2? It seems that it has followed the same
rules as create tag 0.26.0-rc1.

For 0.26.0-rc3 and 0.26.0-rc4, I can see that 0.26.0-rc3 was created base
on 0.26.0-rc2 and pick up some commits from master branch, 0.26.0-rc4 was
created base on 0.26.0-rc3 and pick up some commits from master branch.


There is a patch:
    Updated upgrade documentation with changes in NetworkInfo protobuf.

    Review: https://reviews.apache.org/r/40238

It's has a different commit id in master, 0.26.0-rc1 and 0.26-rc2, but has
a same commit id in 0.26.0-rc2, 0.26.0-rc3 and 0.26.0-rc4. Is someone
manually pick up this patch from master to 0.26.0-rc1 and 0.26.0-rc2?

Re: Can anyone help me understand the Mesos release model

Posted by Till Toenshoff <to...@me.com>.
Alexander actually it spot on with his explanation. 

For the entire procedure, have a look at https://github.com/apache/mesos/blob/master/docs/release-guide.md <https://github.com/apache/mesos/blob/master/docs/release-guide.md>.

At some point in a release, we do a cut and that is our first release candidate. From then on, the only things we put in are patches that are are fixing issues we found blocking the release. Those are cherry-picked and put onto some private release branch. Then we tag and push that tag, but not our internal branch to the public repo.


> On Dec 9, 2015, at 3:45 PM, Chengwei Yang <ch...@gmail.com> wrote:
> 
> On Wed, Dec 09, 2015 at 10:24:45PM +0800, zhiwei wrote:
>> Thanks, I see.
>> 
>> So push the tag to remote repository will be no code review, I think this
>> should be done by a committer who has the directly push permission.
> 
> Exactly, should we use branch to do stable release? which much easier to
> understand, code review(which patch will cherry-picked from master), and
> communication I think.
> 
> In addition, easier to maintain such a long release chain, rc1..rcN and bug fix
> release for stable version, e.g. 0.2x.x
> 
> Just my 2 cents :-)
> 
> -- 
> Thanks,
> Chengwei
> 
>> 
>> On Wed, Dec 9, 2015 at 9:29 PM, Alexander Rojas <al...@mesosphere.io>
>> wrote:
>> 
>>> Hi Zhiweik,
>>> 
>>> Alex
>>> 
>>> Best,
>>> 
>>> Alexander Rojas
>>> 
>>>> On 09 Dec 2015, at 11:49, zhiwei <zh...@gmail.com> wrote:
>>>> 
>>>> Hi all,
>>>> 
>>>> I'm confused with the Mesos release model.
>>>> 
>>>> Can anyone tell me when and how to create a release tag?
>>>> 
>>>> Take 0.26.0 release tags as example:
>>>> 
>>>> I found that the commit history of tag 0.26.0-rc1 and branch master
>>> become
>>>> different since commit *2da4db5*, but the HEAD of tag 0.26.0-rc1 is
>>>> *9965e96*.
>>>> 
>>>> So can I say that the tag 0.26.0-rc1 was created at commit *2da4db5*,
>>> then
>>>> pick up the commits between *2da4db5  *and *9965e96* on master branch?
>>>> 
>>>> When and how to create 0.26.0-rc2? It seems that it has followed the same
>>>> rules as create tag 0.26.0-rc1.
>>>> 
>>>> For 0.26.0-rc3 and 0.26.0-rc4, I can see that 0.26.0-rc3 was created base
>>>> on 0.26.0-rc2 and pick up some commits from master branch, 0.26.0-rc4 was
>>>> created base on 0.26.0-rc3 and pick up some commits from master branch.
>>>> 
>>>> 
>>>> There is a patch:
>>>>   Updated upgrade documentation with changes in NetworkInfo protobuf.
>>>> 
>>>>   Review: https://reviews.apache.org/r/40238
>>>> 
>>>> It's has a different commit id in master, 0.26.0-rc1 and 0.26-rc2, but
>>> has
>>>> a same commit id in 0.26.0-rc2, 0.26.0-rc3 and 0.26.0-rc4. Is someone
>>>> manually pick up this patch from master to 0.26.0-rc1 and 0.26.0-rc2?
>>> 
>>> 


Re: Can anyone help me understand the Mesos release model

Posted by Chengwei Yang <ch...@gmail.com>.
On Wed, Dec 09, 2015 at 10:24:45PM +0800, zhiwei wrote:
> Thanks, I see.
> 
> So push the tag to remote repository will be no code review, I think this
> should be done by a committer who has the directly push permission.

Exactly, should we use branch to do stable release? which much easier to
understand, code review(which patch will cherry-picked from master), and
communication I think.

In addition, easier to maintain such a long release chain, rc1..rcN and bug fix
release for stable version, e.g. 0.2x.x

Just my 2 cents :-)

-- 
Thanks,
Chengwei

> 
> On Wed, Dec 9, 2015 at 9:29 PM, Alexander Rojas <al...@mesosphere.io>
> wrote:
> 
> > Hi Zhiweik,
> >
> > As far as I know it works like this. You take a branch at some point, lets
> > say 2da4db5, then you branch at that point and create the release doc, if
> > necessary you cherry-pick some patches which are needed for the release, at
> > that point the heads of master and your temporary branch have diverged.
> > When you’re satisfied with your rc, you push the tag but don’t push the
> > branch (though implicitly it does, the becomes effectively an anonymous
> > branch in the git main repository).
> >
> > Repeat the procedure for the next releases.
> >
> > Best,
> >
> > Alexander Rojas
> >
> > > On 09 Dec 2015, at 11:49, zhiwei <zh...@gmail.com> wrote:
> > >
> > > Hi all,
> > >
> > > I'm confused with the Mesos release model.
> > >
> > > Can anyone tell me when and how to create a release tag?
> > >
> > > Take 0.26.0 release tags as example:
> > >
> > > I found that the commit history of tag 0.26.0-rc1 and branch master
> > become
> > > different since commit *2da4db5*, but the HEAD of tag 0.26.0-rc1 is
> > > *9965e96*.
> > >
> > > So can I say that the tag 0.26.0-rc1 was created at commit *2da4db5*,
> > then
> > > pick up the commits between *2da4db5  *and *9965e96* on master branch?
> > >
> > > When and how to create 0.26.0-rc2? It seems that it has followed the same
> > > rules as create tag 0.26.0-rc1.
> > >
> > > For 0.26.0-rc3 and 0.26.0-rc4, I can see that 0.26.0-rc3 was created base
> > > on 0.26.0-rc2 and pick up some commits from master branch, 0.26.0-rc4 was
> > > created base on 0.26.0-rc3 and pick up some commits from master branch.
> > >
> > >
> > > There is a patch:
> > >    Updated upgrade documentation with changes in NetworkInfo protobuf.
> > >
> > >    Review: https://reviews.apache.org/r/40238
> > >
> > > It's has a different commit id in master, 0.26.0-rc1 and 0.26-rc2, but
> > has
> > > a same commit id in 0.26.0-rc2, 0.26.0-rc3 and 0.26.0-rc4. Is someone
> > > manually pick up this patch from master to 0.26.0-rc1 and 0.26.0-rc2?
> >
> >

Re: Can anyone help me understand the Mesos release model

Posted by zhiwei <zh...@gmail.com>.
Thanks, I see.

So push the tag to remote repository will be no code review, I think this
should be done by a committer who has the directly push permission.

On Wed, Dec 9, 2015 at 9:29 PM, Alexander Rojas <al...@mesosphere.io>
wrote:

> Hi Zhiweik,
>
> As far as I know it works like this. You take a branch at some point, lets
> say 2da4db5, then you branch at that point and create the release doc, if
> necessary you cherry-pick some patches which are needed for the release, at
> that point the heads of master and your temporary branch have diverged.
> When you’re satisfied with your rc, you push the tag but don’t push the
> branch (though implicitly it does, the becomes effectively an anonymous
> branch in the git main repository).
>
> Repeat the procedure for the next releases.
>
> Best,
>
> Alexander Rojas
>
> > On 09 Dec 2015, at 11:49, zhiwei <zh...@gmail.com> wrote:
> >
> > Hi all,
> >
> > I'm confused with the Mesos release model.
> >
> > Can anyone tell me when and how to create a release tag?
> >
> > Take 0.26.0 release tags as example:
> >
> > I found that the commit history of tag 0.26.0-rc1 and branch master
> become
> > different since commit *2da4db5*, but the HEAD of tag 0.26.0-rc1 is
> > *9965e96*.
> >
> > So can I say that the tag 0.26.0-rc1 was created at commit *2da4db5*,
> then
> > pick up the commits between *2da4db5  *and *9965e96* on master branch?
> >
> > When and how to create 0.26.0-rc2? It seems that it has followed the same
> > rules as create tag 0.26.0-rc1.
> >
> > For 0.26.0-rc3 and 0.26.0-rc4, I can see that 0.26.0-rc3 was created base
> > on 0.26.0-rc2 and pick up some commits from master branch, 0.26.0-rc4 was
> > created base on 0.26.0-rc3 and pick up some commits from master branch.
> >
> >
> > There is a patch:
> >    Updated upgrade documentation with changes in NetworkInfo protobuf.
> >
> >    Review: https://reviews.apache.org/r/40238
> >
> > It's has a different commit id in master, 0.26.0-rc1 and 0.26-rc2, but
> has
> > a same commit id in 0.26.0-rc2, 0.26.0-rc3 and 0.26.0-rc4. Is someone
> > manually pick up this patch from master to 0.26.0-rc1 and 0.26.0-rc2?
>
>

Re: Can anyone help me understand the Mesos release model

Posted by Alexander Rojas <al...@mesosphere.io>.
Hi Zhiweik,

As far as I know it works like this. You take a branch at some point, lets say 2da4db5, then you branch at that point and create the release doc, if necessary you cherry-pick some patches which are needed for the release, at that point the heads of master and your temporary branch have diverged. When you’re satisfied with your rc, you push the tag but don’t push the branch (though implicitly it does, the becomes effectively an anonymous branch in the git main repository).

Repeat the procedure for the next releases.

Best,

Alexander Rojas

> On 09 Dec 2015, at 11:49, zhiwei <zh...@gmail.com> wrote:
> 
> Hi all,
> 
> I'm confused with the Mesos release model.
> 
> Can anyone tell me when and how to create a release tag?
> 
> Take 0.26.0 release tags as example:
> 
> I found that the commit history of tag 0.26.0-rc1 and branch master become
> different since commit *2da4db5*, but the HEAD of tag 0.26.0-rc1 is
> *9965e96*.
> 
> So can I say that the tag 0.26.0-rc1 was created at commit *2da4db5*, then
> pick up the commits between *2da4db5  *and *9965e96* on master branch?
> 
> When and how to create 0.26.0-rc2? It seems that it has followed the same
> rules as create tag 0.26.0-rc1.
> 
> For 0.26.0-rc3 and 0.26.0-rc4, I can see that 0.26.0-rc3 was created base
> on 0.26.0-rc2 and pick up some commits from master branch, 0.26.0-rc4 was
> created base on 0.26.0-rc3 and pick up some commits from master branch.
> 
> 
> There is a patch:
>    Updated upgrade documentation with changes in NetworkInfo protobuf.
> 
>    Review: https://reviews.apache.org/r/40238
> 
> It's has a different commit id in master, 0.26.0-rc1 and 0.26-rc2, but has
> a same commit id in 0.26.0-rc2, 0.26.0-rc3 and 0.26.0-rc4. Is someone
> manually pick up this patch from master to 0.26.0-rc1 and 0.26.0-rc2?