THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- Build and run unit tests:
Code Block ant clean ant jar test
- Check that contrib and tutorial directories compile and tests pass:
Code Block cd contrib/zebra ant ant test cd ../.. cd contrib/piggybank/java ant ant test cd ../../../tutorial ant
- Build the source release:
Code Block ant -Dversion=X.Y.Z src-release
- Test the source tar file by unpacking the release and
- building pig.jar:
ant
- building and running tutorial
Code Block cd tutorial ant
- build piggybank
Code Block cd contrib/piggybank/java ant ant test
- running unit tests
ant test-commit
- building pig.jar:
- Build the convenience artifacts:
Code Block ant clean ant test ant clean ant jar cd contrib/zebra ant cd ../.. cd contrib/piggybank/java ant cd ../../.. ant -Dversion=X.Y.Z -Dforrest.home=<Forrest installation dir> tar # TODO: fix deb and rpm targets to use version (not pig.version) like tar does ant -DversionDpig.version=X.Y.Z -Dforrest.home=<Forrest installation dir> rpm (on a Fedora/Redhat system) ant -DversionDpig.version=X.Y.Z -Dforrest.home=<Forrest installation dir> deb (on a Ubuntu/Debian system)
- Generate the MD5 checksum of the release artifact and convenience binaries:
Code Block cd build md5sum pig-X.Y.Z-src.tar.gz > pig-X.Y.Z-src.tar.gz.md5 md5sum pig-X.Y.Z.tar.gz > pig-X.Y.Z.tar.gz.md5 md5sum pig-X.Y.Z-1.i386.rpm > pig-X.Y.Z-1.i386.rpm.md5 md5sum pig-X.Y.Z-1.i386.deb > md5sum pig-X.Y.Z-1.i386.deb.md5
- If you do not have a gpg key pair, do the following steps:
- Generating key pair using the following command. You can simply accept all default settings and give your name, email and Passphase.
Code Block gpg --gen-key
- Export your public key.
Code Block gpg --armor --output pubkey.txt --export 'Your Name'
- Open pubkey.txt, copy the full text and append it to the following files by pasting, then commit these changes:
Code Block https://svn.apache.org/repos/asf/pig/branches/branch-X.Y.Z/KEYS https://svn.apache.org/repos/asf/pig/trunk/KEYS
- Upload updated KEYS to Apache.
Code Block scp KEYS people.apache.org:/www/www.apache.org/dist/pig/KEYS
- Export your private key, keep it with you.
Code Block gpg --export-secret-key -a "Your Name" > private.key
- Generating key pair using the following command. You can simply accept all default settings and give your name, email and Passphase.
- Sign the release artifact only (see Step-By-Step Guide to Mirroring Releases for more information).
Code Block gpg --armor --output pig-X.Y.Z-src.tar.gz.asc --detach-sig pig-X.Y.Z-src.tar.gz
- Verify gpg signature.
Code Block gpg --import KEYS (if necessarily) gpg --verify pig-X.Y.Z-src.tar.gz.asc pig-X.Y.Z-src.tar.gz
- Copy release artifact, convenience binaries, release notes and the rat report to a public place (usually into public_html in your home directory):
Code Block ssh people.apache.org mkdir public_html/pig-X.Y.Z-candidate-0 scp -p pig-X.Y.Z* people.apache.org:public_html/pig-X.Y.Z-candidate-0 cd .. scp RELEASE_NOTES.txt people.apache.org:public_html/pig-X.Y.Z-candidate-0 scp <rat_report> people.apache.org:public_html/pig-X.Y.Z-candidate-0
- Push proposed release to Maven staging area
- Create file ~/.m2/settings.xml with following contents (NOTE: It is highly recommended to use Maven's password encryption capabilities for your passwords.):
Code Block <settings> <servers> <server> <id>apache.releases.https</id> <username>your apache id</username> <password>your apache password</password> </server> <server> <id>apache.snapshots.https</id> <username>your apache id</username> <password>your apache password</password> </server> <server> <id>apache.staging.https</id> <username>your apache id</username> <password>your apache password</password> </server> </servers> <profiles> <profile> <id>apache-release</id> <properties> <gpg.passphrase>your GPG password</gpg.passphrase> </properties> </profile> </profiles> </settings>
- Run ant command
ant mvn-deploy
to publish Pig artifacts to the apache snapshot repository. - Run ant command
ant –Drepo=staging –Dversion=X.Y.Z mvn-deploy
to publish Pig artifacts to the apache staging repository.
- Create file ~/.m2/settings.xml with following contents (NOTE: It is highly recommended to use Maven's password encryption capabilities for your passwords.):
- Call a release vote. The initial email should be sent to
dev@pig.apache.org
. Here is a sample of email:Code Block From: Olga Natkovich [mailto:olgan@yahoo-inc.com] Sent: Tuesday, November 25, 2008 3:59 PM To: dev@pig.apache.org Subject: [VOTE] Release Pig 0.1.1 (candidate 0) Hi, I have created a candidate build for Pig 0.1.1. This release is almost identical to Pig 0.1.0 with a couple of exceptions: (1) It is integrated with hadoop 18 (2) It has one small bug fix (PIG-253) (3) Several UDF were added to piggybank - pig's UDF repository Keys used to sign the release are available at http://svn.apache.org/viewvc/pig/trunk/KEYS?view=markup. Please download, test, and try it out: http://people.apache.org/~olga/pig-0.1.1-candidate-0 Release notes and the rat report are available from the same location. Should we release this? Vote closes on Wednesday, December 3rd. Olga
...