...
This is work in progress. At this point, thoughts are put together to review with the community. Please help to complete this
What's a Release
The ASF release definition basically says that any artifact that is made available for people outside of the Apache Tuscany project is considered a release. The Release process usually consist of preparing the contents of the release on the project dev-list, voting release candidate(s) and, because Tuscany is still under Incubation, asking the iPMC to approve the release after it has already been approved on the project development community.
Prerequisites
DAS releases are dependent on SDO release. Make sure we have a SDO release to base this release on.
...
- Declare a candidate build and ask for feedback on devlist and user list. Work out any issues that are voiced.
- Get some to verify that all of the samples pass without issues. Integration tests and unit tests should run and known problems need to be identifed.
- Initiate a vote on tuscany-dev mailing list for the release candidate to make the build a public release.
- After 3 days, post the result to the devlist
- Once the community approved the candidate, create a tag from the branch (or trunk if no branch)
- Note that a release must have a referenceable tag
svn will complain when you try to do an svn commit into a tag, which is a warning only, and during this phase of the release process, updates to a tag are justifiable
- Note that a release must have a referenceable tag
- Get approval from IPMC to make this a public release. Send a note to general@apache.org which summarizes the result of vote on devlist and include a pointer to the release in your note. 3 (+1) IPMC votes are required to make this a public release and of course no (-1).
- Once you have IPMC approval, post the release to people.apache.org.
- Update the version elements of the poms to define the version of the parent pom and buildtools that should be used
- Update the tags version names of the distributable artifacts to non SNAPSHOT titles that match the release name
- Update the tags version names of the dependencies to non SNAPSHOT versions, if not already done earlier in the release candidate process
- Ideally update the tags version names of maven plugins to non SNAPSHOT versions if not already done earlier in the release candidate process (note that if the plugin behaviour changes after release, your tag or source distribution may not build in the same way as it did when you released if you rely on SNAPSHOT plugin versions)
- Rebuild and upload a new release to /www/people.apache.org/dist/incubator/tuscany/java
- update 'Download' link on the wiki and make it a goal to update or add documentation.
- Announce the release by sending to anounce@apache.org (note that you must use an apache.org email address to do this), copying tuscany-dev, tuscany-user and general@incubator
- Don't forget that all this could not have been done without everyone's help. Post a congratulation note to the dev list and thank the entire team for their efforts to make this happen And thank you for the extra ordinary effort to make this happen
Good References
- Apache Release: http://www.apache.org/dev/release.html
- Apache Release Management: http://incubator.apache.org/guides/releasemanagement.html
- Apache release publishing guide: http://www.apache.org/dev/release-publishing.html
- ARAT: http://code.google.com/p/arat/
- Apache Voting: http://www.apache.org/foundation/voting.html
- Signing Releases: http://www.apache.org/dev/release-signing.html
...