Quantcast

Inconsistencies between the poms and the release process.

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Inconsistencies between the poms and the release process.

Nicolas LE BAS-2
Hi all,
I've been analyzing what happened during the release process and I can
see a few inconsistencies. So I'd like to discuss what we want to achieve.

I'll base my remarks on the old 2.2 release process
(http://tiles.apache.org/2.2/framework/dev/release.html) and the current
poms in 3.0.0. The 3.0 process/poms can then be updated as needed.

- Prepare the release tag: all right, but the doc should mention
branching for major releases.

- Perform the release by running mvn release:perform: in the current
state of the poms, that includes:
   * deploying the artefacts to nexus: OK
   * uploading the assemblies to http://people.apache.org/build/tiles/ 
for all projects: I'd like to create a subdirectory per project
(actually I've done it by hand using symbolic links)
   * deploying the web sites. According to the release process, this
should happen later, after the release has been approved by vote.

- Close the staging repository, verify the staged artifacts: OK

- Digest and upload assemblies: this was done automatically by mvn
release:perform. And I think it is a good thing, no need to wait for the
repository to be ready. So I'd like to rephase this step in the doc, as
"verify the uploaded assemblies".

- Release the JIRA version: Not sure what this involves behind the
scenes, so I've not done it yet. Besides, there are options in JIRA to
"release" or "archive" a version. It would be great if a JIRA expert
could explain, otherwise I'll just test it soon.
   IMHO here's what should happen at this stage:
   * close all issues that are marked as "fixed in this version".
   * make it impossible to use this version in the "fixed in version"
field for open issues.

- Send announcement for the test build, Call for a vote: OK

Post vote operations:
- Promote staged artifacts, move assemblies: OK.
- Update the site: well, there are 2 sites (4 now):
   * tiles.apache.org/framework, but that one has been deployed by
mvn:release without staging. Should we introduce some staging process
here? I feel reviewing the doc is as important as testing the code,
especially for people who didn't follow the whole development process in
detail.
   * tiles.apache.org/: OK, but that one is managed with a completely
different lifecycle, so we can basically publish it anytime. Or should
it be synchronized with other releases?
- Send announcement: OK.

Additionally, since some of the web sites have been published during mvn
release:perform, should I publish the rest by hand right now and provide
a consitent web site to our users?

What do you think?

Nick.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Inconsistencies between the poms and the release process.

Mick Semb Wever
On Mon, 2012-05-07 at 12:51 -0400, Nicolas LE BAS wrote:
> It would be great if a JIRA expert
> could explain, otherwise I'll just test it soon.

Just test i ;-) it's pretty straight forward.
Under https://issues.apache.org/jira/browse/TILES
go Versions -> Manage Versions -> "3.0.0" -> Release.

(Archive is when a version is "gone", that is it doesn't even make sense
to report bugs against such a version).

>    IMHO here's what should happen at this stage:
>    * close all issues that are marked as "fixed in this version".
>    * make it impossible to use this version in the "fixed in version"
> field for open issues.

Yes, although i'm unsure of the latter. It makes sense only when the
issue's resolution is "fixed". But what about "duplicate" and "won't
fix" etc? And maybe this happens anyway when you release the version?

>    * tiles.apache.org/framework, but that one has been deployed by
> mvn:release without staging. Should we introduce some staging process
> here? I feel reviewing the doc is as important as testing the code,
> especially for people who didn't follow the whole development process in
> detail.

I'm happy how it is, because the site can easily be redeployed. It's not
like release artifacts that once distributed over the internet are
basically impossible to recall.
I'm unsure too as to what has actually changed for the 3.0 site from
before the release to now after the release:perform?

>    * tiles.apache.org/: OK, but that one is managed with a completely
> different lifecycle, so we can basically publish it anytime. Or should
> it be synchronized with other releases?

I think this should happen afterwards. Once the request, autotag, and
framework releases are voted on and accepted then it's time to update
the apache-tiles-site. There's a number of things here to update.

> Additionally, since some of the web sites have been published during mvn
> release:perform, should I publish the rest by hand right now and provide
> a consistent web site to our users?

I'm not following, what do you mean?

~mck

--
"If you are distressed by anything external, the pain is not due to the
thing itself, but to your estimate of it. This you have the power to
revoke." Marcus Aurelius

| http://github.com/finn-no | http://tech.finn.no |

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Inconsistencies between the poms and the release process.

Nicolas LE BAS-2
On 12-05-07 03:22 PM, Mick Semb Wever wrote:

> On Mon, 2012-05-07 at 12:51 -0400, Nicolas LE BAS wrote:
>> It would be great if a JIRA expert
>> could explain, otherwise I'll just test it soon.
>
> Just test i ;-) it's pretty straight forward.
> Under https://issues.apache.org/jira/browse/TILES
> go Versions ->  Manage Versions ->  "3.0.0" ->  Release.
>
> (Archive is when a version is "gone", that is it doesn't even make sense
> to report bugs against such a version).
>
>>     IMHO here's what should happen at this stage:
>>     * close all issues that are marked as "fixed in this version".
>>     * make it impossible to use this version in the "fixed in version"
>> field for open issues.
>
> Yes, although i'm unsure of the latter. It makes sense only when the
> issue's resolution is "fixed". But what about "duplicate" and "won't
> fix" etc? And maybe this happens anyway when you release the version?

That is basically the question I've been asking above: What happens
behind the scenes when you release a version? And that's what I wanted
to test :)

> I'm unsure too as to what has actually changed for the 3.0 site from
> before the release to now after the release:perform?

First of all, the version is now 3.0.0 and not 3.0.0-SNAPSHOT. Or are
you asking about the actual diffs in the docs? Those can be seen only in
svn...

>> Additionally, since some of the web sites have been published during mvn
>> release:perform, should I publish the rest by hand right now and provide
>> a consistent web site to our users?
>
> I'm not following, what do you mean?

Just a few things that are inconsistent:
- the site tiles-autotag/ was not deployed for some reason (possibly
because there is no assembly project, the need for assemblies is not
obvious because tiles-autotag is used from maven).
- linkcheck didn't happen (I didn't activate the profile during mvn
release, didn't expect the site to be actually deployed at that stage).
- tiles-autotag and tiles-request are not accessible from the main web
site, we need to deploy the main web site for this.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Inconsistencies between the poms and the release process.

Nicolas LE BAS-2
On 12-05-07 03:58 PM, Nicolas LE BAS wrote:
>> Yes, although i'm unsure of the latter. It makes sense only when the
>> issue's resolution is "fixed". But what about "duplicate" and "won't
>> fix" etc? And maybe this happens anyway when you release the version?
>
> That is basically the question I've been asking above: What happens
> behind the scenes when you release a version? And that's what I wanted
> to test :)

Well, testing shows nothing happenning behind the scenes, clicking the
"release" button only adds a release date to the version (and you may
choose the date). You can even unrelease it afterwards.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Inconsistencies between the poms and the release process.

Nicolas LE BAS-2
In reply to this post by Mick Semb Wever
Trying to sum up the discussion:

We'd like the following situation during the voting process:
- artifacts available in the staging repository for maven.
- assemblies available at http://people.apache.org/builds/tiles/*.
- JIRA: a release date on the version
- the web site of the released version available at
http://tiles.apache.org/framework,
http://tiles.apache.org/tiles-autotag,
http://tiles.apache.org/tiles-request.
- the main web site http://tiles.apache.org/ is not updated, even if it
may point to the new doc.

After the vote:
- artifacts published (including in in maven central).
- assemblies available at http://www.apache.org/dist/tiles/*.
- issues closed in JIRA
- the main web site http://tiles.apache.org/ starts promoting the
released version.

Is this correct?

Nick.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Inconsistencies between the poms and the release process.

Mick Semb Wever
On Tue, 2012-05-08 at 12:50 -0400, Nicolas LE BAS wrote:
>
> Is this correct?

To me it does.
Maybe the list before my days has related discussions? Greg?

~mck


--
"For a long time it puzzled me how something so expensive, so leading
edge, could be so useless, and then it occurred to me that a computer is
a stupid machine with the ability to do incredibly smart things, while
computer programmers are smart people with the ability to do incredibly
stupid things. They are, in short, a perfect match." Bill Bryson

| http://github.com/finn-no | http://tech.finn.no |

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Inconsistencies between the poms and the release process.

Mick Semb Wever
In reply to this post by Nicolas LE BAS-2
On Tue, 2012-05-08 at 12:37 -0400, Nicolas LE BAS wrote:
> > That is basically the question I've been asking above: What happens
> > behind the scenes when you release a version? And that's what I wanted
> > to test :)
>
> Well, testing shows nothing happenning behind the scenes, clicking the
> "release" button only adds a release date to the version (and you may
> choose the date). You can even unrelease it afterwards.

I believe it also moves it from unreleased to released category in the
drop down list for fix version field on an issue's edit screen.

~mck


--
"We get a million calls a month saying, 'hey, this product is
confusing." Bill Gates

| http://github.com/finn-no | http://tech.finn.no |

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Inconsistencies between the poms and the release process.

Nicolas LE BAS-2
In reply to this post by Mick Semb Wever
On 12-05-08 12:52 PM, Mick Semb Wever wrote:
> On Tue, 2012-05-08 at 12:50 -0400, Nicolas LE BAS wrote:
>>
>> Is this correct?
>
> To me it does.

Well, I'll at least upload the missing parts for you, then.

I'll file a couple of JIRA issues about it and solve it in the poms/docs
when more people agree.

Nick.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Inconsistencies between the poms and the release process.

Greg Reddin-4
In reply to this post by Nicolas LE BAS-2
On Tue, May 8, 2012 at 11:50 AM, Nicolas LE BAS <[hidden email]> wrote:
> - the web site of the released version available at
> http://tiles.apache.org/framework, http://tiles.apache.org/tiles-autotag,
> http://tiles.apache.org/tiles-request.

This one is tricky. I'm not sure if we should push these out to the
sites before a vote.

OTOH website doc sort of goes through peer review before the release
is rolled and we don't necessarily vote on the site before it's
published. I'm not sure. Do others have an opinion? I don't remember
us doing this in the past.

Greg
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Inconsistencies between the poms and the release process.

Mick Semb Wever
In reply to this post by Nicolas LE BAS-2
On Tue, 2012-05-08 at 12:50 -0400, Nicolas LE BAS wrote:

> We'd like the following situation during the voting process:
> - artifacts available in the staging repository for maven.
> - assemblies available at http://people.apache.org/builds/tiles/*.
> - JIRA: a release date on the version
> - the web site of the released version available at
> http://tiles.apache.org/framework,
> http://tiles.apache.org/tiles-autotag,
> http://tiles.apache.org/tiles-request.
> - the main web site http://tiles.apache.org/ is not updated, even if it
> may point to the new doc.
>
> After the vote:
> - artifacts published (including in in maven central).
> - assemblies available at http://www.apache.org/dist/tiles/*.
> - issues closed in JIRA
> - the main web site http://tiles.apache.org/ starts promoting the
> released version.
>
> Is this correct?
Sounds good to me.
It's only "issues closed in JIRA" which isn't described in
http://tiles.apache.org/framework/dev/release.html ?

~mck

--
"As you go the way of life, you will see a great chasm. Jump. It is not
as wide as you think." Native American Initiation Rite

| http://github.com/finn-no | http://tech.finn.no |

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Inconsistencies between the poms and the release process.

Nicolas LE BAS-2
On 12-05-12 01:21 AM, Mick Semb Wever wrote:
> It's only "issues closed in JIRA" which isn't described in
> http://tiles.apache.org/framework/dev/release.html ?

No. As I said in my first message, the web page assumes that mvn
release:perform deploys only the artifacts into the staging repository.
Both the Web sites and the assemblies (downloads from the web site) are
said to be deployed by hand.

Besides, it's ambiguous, because it doesn't say what is expected from
mvn release:perform. See Greg's comment earlier in this thread.

Nick
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Inconsistencies between the poms and the release process.

Nicolas LE BAS-2
In reply to this post by Greg Reddin-4
On 12-05-08 04:18 PM, Greg Reddin wrote:

> On Tue, May 8, 2012 at 11:50 AM, Nicolas LE BAS<[hidden email]>  wrote:
>> - the web site of the released version available at
>> http://tiles.apache.org/framework, http://tiles.apache.org/tiles-autotag,
>> http://tiles.apache.org/tiles-request.
>
> This one is tricky. I'm not sure if we should push these out to the
> sites before a vote.
>
> OTOH website doc sort of goes through peer review before the release
> is rolled and we don't necessarily vote on the site before it's
> published. I'm not sure. Do others have an opinion? I don't remember
> us doing this in the past.
>
> Greg

I like what Mck said, that we can always redeploy the web site to fix
any mistake, as opposed to maven artifacts cached from the central
repository.

On the other hand, I'm not sure how the peer review happens; commit
messages allow people to check the contents of each page by reading the
apt pages, but you have to actually build the site to see some aspects
of it (maven reports, broken links...). I wonder if reviewers would like
to have a prebuilt website before the review.

Nick
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Inconsistencies between the poms and the release process.

Mick Semb Wever
In reply to this post by Nicolas LE BAS-2
On Sat, 2012-05-12 at 13:32 -0400, Nicolas LE BAS wrote:
> > It's only "issues closed in JIRA" which isn't described in
> > http://tiles.apache.org/framework/dev/release.html ?
>
> No. As I said in my first message, the web page assumes that mvn
> release:perform deploys only the artifacts into the staging repository.
> Both the Web sites and the assemblies (downloads from the web site) are
> said to be deployed by hand.

Reading the documentation i interpret it that mvn release:perform is
supposed to deploy the web site. The talk about deploying the website
under the "Post vote operations" i read as only referring to deploying
the 'site' project and that it was given that the framework, request,
and autotag projects were in fact deployed during the release...

>    * deploying the web sites. According to the release process, this
> should happen later, after the release has been approved by vote.

I missed this point in your original post (although it got addressed in
a latter reference in that same post). I can see the ambiguity in the
release documentation though. "Perform the Release" could explicitly say
that along with deploying artifacts to the staging repository it will
also update the project web site. And the "Call for a vote" could
mention that the project site can be moderated where it is, although as
Greg says none of the sites are ever actually being voted on.

~mck

--
"Perl: The only language that looks the same before and after RSA
encryption." Keith Bostic

| http://github.com/finn-no | http://tech.finn.no |

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Inconsistencies between the poms and the release process.

Greg Reddin-4
In reply to this post by Nicolas LE BAS-2
On Sat, May 12, 2012 at 12:48 PM, Nicolas LE BAS <[hidden email]> wrote:
> On the other hand, I'm not sure how the peer review happens; commit messages
> allow people to check the contents of each page by reading the apt pages,

Yeah, peer review is really on the source code.

I haven't mentioned anything yet and I don't know if y'all have seen
the messages, but we are going to have to change the way we do our
site in the near future anyway (within the next 6 months).

Infra is going to start requiring that projects use svnpubsub and/or
the Apache CMS for websites. Don't fret about it now. We can look into
it later. I was hoping to get the 3.x build stable before we tackle
that, but there's no reason for me to not at least mention it now.

Greg
Loading...