[petsc-dev] plans for PETSc release

Satish Balay balay at mcs.anl.gov
Sun Apr 24 12:51:49 CDT 2016

On Sun, 24 Apr 2016, Jed Brown wrote:

> Satish Balay <balay at mcs.anl.gov> writes:
> > On Sun, 24 Apr 2016, Jed Brown wrote:
> >
> >> Satish Balay <balay at mcs.anl.gov> writes:
> >> 
> >> > Master currently doesn't work as you describe. 
> >> 
> >> Why doesn't it work that way?  That was the philosophy when we adopted
> >> this branching model years ago, it works reliably for many other
> >> projects, and I thought it worked for us when we used it that way.  Did
> >> something change?
> >
> > I was thinking about the number of times master was broken in the last month.
> That's a workflow problem independent of releasing.  But if you feel
> like 'master' is not stable enough for the promise we try to make about
> 'master', putting that instability in 'maint' is pretty much the most
> reckless thing possible.

You are infering something I did not say. I did not merge instable
stuff into maint.

>  The reason for a feature freeze on 'master' is
> to bring its stability up to that of 'maint'.

I don't think thats enforceable. As it turns out - its not even
enforceable on maint - as this thread demonstrates.

> >> > To me - currently we are at RC [yeah - witout a change in
> >> > petscversion.h or a tag] - and RC to RELEASE should be via maint
> >> > workflow - hence this update to maint.
> >> 
> >> Why should RC to release "be via maint workflow"?
> >
> > The thought is - one you want a release in the next few days - if a
> > fix is critical then it should go in. If a fix can't be in 3.7.1 then
> > it shouldn't go in.  And if a fix can be in 3.7.1 - then mostlikely it
> > can wait till 3.7.1.
> Presumably at least one of those is supposed to be 3.7.0.  But since you
> haven't tagged v3.7, you're basically making 'maint' the new 'master',
> which doesn't make any sense to me.

I'm not making 'maint' the new master. I'm enforcing bugfix only policy.
which is a maint policy.

> Anyway, if we allow 3.7.0 to ship with no more stability than a first
> RC,

Again you are misinterpreting my statement.

I see you are interpreting" RC=>buggy - so RC should never be in maint".

To me its equivalent of saying "3.6.3 is buggy - so it should have
never be released - so only 3.6.4 shold have been released as 3.6"

> we're basically telling users they shouldn't even bother trying
> until *.*.1 releases.  I think that's a cop out.  Having a feature
> freeze, clearing out 'next', and encouraging users to test 'master' is a
> good way to make sure the *.*.0 releases are better.

Barry made an anouncement on encouraging users to test a few weeks
back. I don't think that works.. We are attempting to release
what we know is stable.

> > [there have been requests for TC testing - I was hoping we could be in
> > this RC mode for a week - like a patch release test mode]
> TC?


> I think we should have a week of feature freeze (no new features to
> 'master' or 'next') prior to tagging a release.  But tag the release on
> 'master'.
> >> I'd also argue we're clearly not at RC because new features (currently
> >> in 'next') are still being merged.
> >
> > I was trying to avoid that.
> Well, there were several feature branches in 'next' before you
> fast-forwarded 'maint' so it's not all a surprise.
> >>  After changing 'maint', you still
> >> advised Lisandro to merge new features to 'next' so that they could
> >> later graduate for the release.
> >
> > If they can go into 3.7.1 - then they should be merged by then. [We've
> > added new features in patch releases before - if they didn't modify
> > exisiting API].
> Normally the new features are more minor than a TS overhaul, but it can
> be done.
> >> As for pending merges, what is the status of these branches (in 'next',
> >> but not yet in 'master')?
> [...]
> > The same 'maint' criteria. If they can't go into a patch release -
> > they shouldn't be merged to maint. If they can - then they can be
> > merged [if they can be tested in maint again - or wait for next patch
> > release]
> Normally we rewind 'next' when making a release.  These features either
> need to be merged or are abandoned for now (can try again for 3.8).  If
> they are 'maint'-eligible, then they should be merged for 3.7.  Cleaning
> up those loose ends is one of the things supposed to happen during the
> freeze.

You can formulate all this stuff now. We never had a proper freeze policy.

I was attempting that.


> > I was trying to avoid this last minuite push to merge features - just
> > before the release.
> Of course, which is why I prefer a feature freeze of about a week before
> tagging a release.
> > Barry can override me on this - [If have to spin a tarball on monday]
> > I won't merge anything into maint - unless they are tested fixes. And
> > deferer other valid things to patch1
> I know that when target dates slip, it's annoying and tempting to just
> declare good enough.  But why not spin an RC on Monday and tag the
> release later in the week?

More information about the petsc-dev mailing list