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.