THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Wiki Markup |
---|
{hide-from:user=*} Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0] Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. {hide-from} {toc} h1. 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 several 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] h1. Discuss Send a \[DISCUSS\] email to the dev@knox list proposing a release. h1. 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. h2. Update CHANGES Update CHANGES.txt with release date (Release X.Y - MM/dd/yyyy) and (if needed) add additional changelog entries h2. Update documentation h2. Push {code} git commit --all --message "Prepare for branch." git push {code} h1. Clone, Build and Test {code} git clone https://git-wip-us.apache.org/repos/asf/incubator-knox.git knox-release cd knox-release ant verify {code} h1. Tag Branch Point {code} git tag --annotate vX.Y.Z --message "Branch point for vX.Y.Z" git push origin --tags {code} h1. Branch {code} git checkout --branch vX.Y.Z git push --set-upstream origin vX.Y.Z {code} h2. Update version numbers on master branch (from A.B.C-SNAPSHOT to D.E.F-SNAPSHOT) h2. Update version numbers on release branch (from X.Y.Z-SNAPSHOT to X.Y.Z) h2. Perform a full build including tests {code} ant verify {code} h2. Sanity testing Do some basic manual testing to see if release looks ok. For example do and install and run through a few of the samples. h1. Sign {code} ant sign {code} h1. Verify Verify the hashes and signatures {code} gpg --verify knox-0.2.0-src.zip.asc knox-0.2.0-src.zip {code} {code} openssl sha1 knox-0.2.0.zip SHA1(knox-0.2.0.zip)= f132a5c51273d1de0be28dcad8821d6397866229 cat knox-0.2.0.zip.sha f132a5c51273d1de0be28dcad8821d6397866229 {code} {code} openssl md5 knox-0.2.0.zip MD5(knox-0.2.0.zip)= 80c7163b93898993cb43fdaa6fe7b71d cat knox-0.2.0.zip.md5 80c7163b93898993cb43fdaa6fe7b71d {code} h1. Tag Release Candidate {code} git tag --annotate vX.Y.Z-rcN --message "vX.Y.Z release candidate N" git push origin --tags {code} h1. Stage - Step-By-Step Guide to Mirroring Releases. Follow the instructions output by the sign step above. Basically execute this command. {code} scp -r target/X.Y.Z \{release-manager\}@people.apache.org:public_html/knox {code} h1. Vote Send a \[VOTE\] email to the dev@knox list. A template was output by the sign step above into {{target}}. h2. Iterate based on feedback until vote passes h2. Publish Follow Step-By-Step Guide to Mirroring Releases. 15. Once vote passes, tag the 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. h2. 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 h2. Create version in JIRA for release X.Y. h2. Send announcements to the user and developer lists. 2. Update CHANGES with header for new changes {include:Footer} |