So quick question: is an intentional side-effect of the current release
process that when we build on trunk now, we build artifacts named e.g.
mahout-examples-0.9-SNAPSHOT-job.jar ?


On Wed, Jul 10, 2013 at 2:33 AM, Sean Owen <sro...@gmail.com> wrote:

> Yes you can do all of this in a branch, which would let things
> continue to change on HEAD. Otherwise HEAD has to be frozen. I think
> here there's not enough velocity of change to make freezing HEAD that
> big of a deal, but yes you could manage the process yourself in a
> branch if you wanted to.
>
> Tags are changeable in SVN. Nobody is depending on the tag until after
> the release is finalized, so moving them during the release or
> reapplying them is no big thing.
>
> The release process doesn't update Maven artifacts, even snapshots, so
> the process does not affect what artifacts end users use.
>
> RCs are indeed all labeled "x.y" but are certainly distinguished by
> date, timestamp. It's not a RC in the sense that it may evolve and
> change in response to bug fixes over weeks or months -- it's either a
> valid build or it isn't right now, and is released or not in a few
> days unless there is a critical build problem. It will only be
> developers that might ever distinguish several builds.
>
> You can use x.y.z for sure and I personally would be happy to see
> "0.8.0" used instead of "0.8". That is technically more standard Maven
> convention. I don't think there will be enough change / energy for
> point releases but it doesn't hurt to allow for the possibility.
>
>
> On Wed, Jul 10, 2013 at 10:11 AM, Stevo Slavić <ssla...@gmail.com> wrote:
> > This is continuation of my and Grant's discussion on
> > https://issues.apache.org/jira/browse/MAHOUT-1275 which I believe is
> better
> > suited to be continued here on the dev mailing list.
> >
> > Apologies for my ignorance, if this discussion took place earlier in the
> > project lifetime.
> >
> >
> > There is no 0.8 branch here:
> http://svn.apache.org/viewvc/mahout/branches/
> > maven-release-plugin:prepare creates a tag only, which (in svn) although
> > similar to branch, shouldn't be modifiable, and we need it to be
> modifiable
> > if something needs to be changed for final 0.8 release, without
> > stopping/freezing 0.9 development.
> > Release instructions basically state that if something is wrong with RC
> > release, to delete RC release (drop staging repo and delete tag from
> svn),
> > rollback version changes on trunk (from 0.9-SNAPSHOT back to
> 0.8-SNAPSHOT),
> > make a fix on trunk, and prepare/perform RC release again (same 0.8
> release
> > version).
> > Current 0.8 RC, IMO is not a proper RC - if we need to make a change to
> it
> > and release another RC, there would be no obvious distinction between the
> > two RCs, especially to Maven builds that Mahout users are likely to be
> > using, so even after second RC they might still be using/testing with the
> > old one (cached/resolved in their local repo) as Mahout Maven artifact
> > coordinates didn't change (same 0.8 version for both RCs).
> >
> > In workflow I mentioned (in MAHOUT-1275 comment) - we'd make 0.8.x branch
> > (with maven-release-plugin branch goal), then from that branch make
> 0.8.RC1
> > release (release:prepare/perform), with 0.8.x branch POMs staying on
> > 0.8-SNAPSHOT; then if something is found to be wrong with 0.8.RC1, we
> could
> > modify the branch (merge the change to 0.9-SNAPSHOT on trunk), and make
> > another 0.8 RC release, but now of 0.8.RC2 version (different Mahout
> Maven
> > artifact coordinates), and so on; when 0.8.RCX is acceptable, passes
> vote,
> > we'd make another release or promote 0.8.RCX, to 0.8 or 0.8.FINAL. Final
> > one would be published on release repository, while all the RCs on
> staging
> > repo. Before final release, 0.8.x branch would have 0.8-SNAPSHOT version
> in
> > POMs. Branch 0.8.x after final release could have 0.8.1-SNAPSHOT version,
> > for any critical support changes in future, before 0.9 release.
> > During whole time of forging 0.8 RC and final releases on their own 0.8.x
> > branch, 0.9-SNAPSHOT development on trunk can go on. Also, there would be
> > no rollbacks necessary for RC releases (with exception of cases when it's
> > really necessary, e.g. when release of some RC is incomplete/breaks
> because
> > of network failure or something similar). Also tags stay non-modifiable.
> >
> > I noticed at least one Apache project to follow this release workflow
> (with
> > staging RCs with different Maven coordinates, and promoting an RC to
> final
> > release), namely on Apache HttpComponents project.
> >
> > I could understand current release process, if idea is to have all hands
> > focused on the release while it's being made/tested, and also making it
> > obvious to community (with absence of branches other than trunk) that
> there
> > is no support whatsoever possible/available via minor releases, apart
> from
> > changes on trunk and next major release.
> >
> > Kind regards,
> > Stevo Slavić.
>



-- 

  -jake

Reply via email to