This page is obsolete. It has been replaced with: http://trafodion.apache.org/release.html |
This document describes how to release the source version of Trafodion.
If you do not have a key setup up for Apache, do it now
Create your key that can be used to sign releases: http://www.apache.org/dev/openpgp.html#generate-key.
Remember to store your private key is a secure place.
For example:
gpg --gen-key (verify that sha1 is avoided (last on list – see above web site)
gpg -k (shows public key)
gpg -K (shows private key)
Recommend using: http://pgp.mit.edu/ keyserver
For example:
gpg --send-keys <keyID> --keyserver pgp.mit.edu
It is recommended that you create a revocation certification: http://www.apache.org/dev/openpgp.html#revocation-certs
Remember to store it in a secure place separate from your key
For example:
gpg --output revoke-<keyD>.asc --armor --gen-revoke <keyID>
You need to be a committer to perform this step:
svn co https://dist.apache.org/repos/dist/release/incubator/trafodion traf_release
cd traf_release
gpg --list-sigs <keyID> >> KEYS
gpg -armor –export <keyID>
svn commit –m “added new public key to KEYS file“
Send a message out to the community indicating that a new release is being planned. In this message, indicate what is planned for the release and when the release is scheduled.
Give contributors enough time to assimilate this information so they can make plans to deliver their changes. Recommend giving the community several weeks notice.
Review open issues and planned features; determine which JIRA's should be included in the release.
Verify the following:
Prior to releasing, send a message to the community indicating that a new release is imminent and that a new branch will be created to build the artifacts.
After the new release branch is created, send another message to the community indicating that the branch is available and the deliveries will be monitored. Allow deliveries on the main branch to continue.
Verify that all required changes have been delivered.
Trafodion uses git as its repository. When a new version is created, mark the repository with the tag to make sure it source tar can be recreated.
Here is an example based on release x.x.x and release candidate 1 (rc1)
git checkout -b tagx.x.x <release branch name>
git tag -a x.x.xrc1
git show x.x.xrc1
git push apache x.x.xrc1
git tag
At this time, a new tag for the current release has been created. It may take a few days to get the tag updated to all the mirrored repositories.
start with a clean git clone and a fresh ssh session
git checkout -b artifacts x.x.xrc1
cd ../incubator-trafodion
source ./env.sh
make package-src
cd distribution; ls
At this time, a new source tar file exist in the distribution directory.
It is assumed that the signer has already created their signing key and registered their public key in the http://pgp.mit.edu/ pubic repository.
gpg --armor --output apache-trafodion-x.x.x-incubating-src.tar.gz.asc --detach-sig apache-trafodion-x.x.x-incubating-src.tar.gz
gpg --verify apache-trafodion-x.x.x-incubating-src.tar.gz.asc
md5sum apache-trafodion-x.x.x-incubating-src.tar.gz > apache-trafodion-x.x.x-incubating-src.tar.gz.md5
sha1sum apache-trafodion-x.x.x-incubating-src.tar.gz > apache-trafodion-x.x.x-incubating-src.tar.gz.sha
It is recommended that artifacts be tested following the Building the Software instructions
In addition, you should compare the code from the source tar file with the tagged version to make sure they match.
This assumes that branch artifacts contains the release candidates.
mkdir traf_test
cd traf_test
cp <git dir>/incubator-trafodion/distribution/* .
tar zxf apache-trafodion-x.x.x-incubating-src.tar.gz
compare the two versions, for example using BCompare and the "Folder Compare Report" feature:
old: traf_test/incubator-trafodion
new: <git dir>/incubator-trafodion
Note: the git version will have some additional git folders and the distribution directory
Follow the instructions verifysignature to verify checksums and signatures
Make sure the high level directory contains valid versions of:
Once all the artifacts have been created and tested, it is time to stage them. Upload the artifacts to the https://dist.apache.org/repos/dist/dev/incubator/trafodion directory.
At this time, all the artifacts have been uploaded to the staging area.
Download all the artifacts from the staging area including:
apache-trafodion-x.x.x-incubating-src.tar.gz
apache-trafodion-x.x.x-incubating-src.tar.gz.asc
apache-trafodion-x.x.x-incubating-src.tar.gz.md5
apache-trafodion-x.x.x-incubating-src.tar.gz.sha
Check signatures and checksums
For apache-trafodion-x.x.x-incubating-src.tar.gz.asc, do:
gpg apache-trafodion-x.x.x-incubating-src.tar.gz.asc
expect:
gpg: Signature made Tue 03 Nov 2015 12:59:10 AM UTC using RSA key ID A44C5A05
gpg: Can't check signature: No public key
extract public key from key ID returned above
gpg --keyserver pgpkeys.mit.edu --recv-key A44C5A05
expect:
gpg: requesting key A44C5A05 from hkp server pgpkeys.mit.edu
gpg: /home/centos/.gnupg/trustdb.gpg: trustdb created
gpg: key A44C5A05: public key "Roberta Marton (CODE SIGNING KEY) <rmarton@apache.org>" imported
gpg --verify apache-trafodion-x.x.x-incubating-src.tar.gz.asc
expect:
gpg: Signature made <date> using RSA key ID A44C5A05
gpg: Good signature from "Roberta Marton (CODE SIGNING KEY) <rmarton@apache.org>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
For apache-trafodion-x.x.x-incugating-src.tar.gz.md5, do:
md5sum -c apache-trafodion-x.x.x-incubating-src.tar.gz.md5
expect: apache-trafodion-x.x.x-incubating-src.tar.gz: OK
For apache-trafodion-x.x.x-incubating-x.x.x-incubating-src.tar.gz.sha, do:
sha1sum -c apache-trafodion-x.x.x-incubating-src.tar.gz.sha
expect: apache-trafodion-x.x.x-incubating-src.tar.gz: OK
Under construction