Prerequisites
Before entering into this process you need to ensure you will be able to cryptographically sign the final result in such a way that others can validate the signature. This can be a confusing process. Here are links to three documents that should help.
- http://www.apache.org/dev/openpgp.html
- http://www.apache.org/dev/release-signing.html
- http://httpd.apache.org/dev/verification.html
Prepare
In preparation for each release there are a number of sub-steps required to ensure that that the project's repository is in a suitable state for branching.
Update version numbers
(from X.Y.Z-SNAPSHOT to X.Y.Z)
Update CHANGES
Update CHANGES.txt with release date (Release X.Y - MM/dd/yyyy) and (if needed) add additional changelog entries
Update documentation
Commit updates
Build
Make a clean checkout
svn co https://svn.apache.org/repos/asf/tika/trunk
Build it.
Run unit tests
Do basic test to see if release looks ok - e.g. install it and run Tika command line on a sample document
The Apache Knox Gateway is currently distributed as a single Zip file. Following the steps described below this Zip file will be created in the target directory. The following process can be used create a release build without an existing repository clone.
git clone https://git-wip-us.apache.org/repos/asf/incubator-knox.git knox cd knox ant release
If the repository has already been cloned the following process should be used.
git pull ant release
Branch
Create a branch for release maintenance
Sign
Stage - Step-By-Step Guide to Mirroring Releases.
e.g., gpg --armor --output tika-X.Y.tar.gz.asc --detach-sig tika-X.Y.tar.gz \
md5sum tika-X.Y.tar.gz > tika-X.Y.tar.gz.md5
Vote
13. Release Review and Vote: Use the following email as a template for a real email sent to the private@lucene.apache.org and the tika-dev@lucene.apache.org lists, calling for a vote on the release candidate (posted on a publicly accessible website):
Iterate based on feedback until bote passes
Publish
15. Once vote passes, tag the tika release:
svn copy https://svn.apache.org/repos/asf/lucene/tika/trunk \
https://svn.apache.org/repos/asf/lucene/tika/tika/tags/X.Y -m "Tika X.Y release."
16. Copy release tar file to people.apache.org:/www/www.apache.org/dist/lucene/tika. based on vote (also included *.asc file and *.md5 file)
17. Wait 24 hours for release to propagate to mirrors.
Update site
4. Update news in src/site/src/documentation/content/xdocs/index.xml and for main lucene.apache.org site stored at https://svn.apache.org/repos/asf/lucene/site/. The second change may require additional rights
Create version in JIRA for release X.Y.
Send announcements to the user and developer lists.
Prepare for new development
Update version numbers for to A.B-dev (assuming A.B is next release number) in:
pom.xml - version tag
2. Update CHANGES with header for new changes
3. Create version in JIRA for development snapshots (X.Y.Z)