- Generate code signing key if you do not already have one for Apache. Refer to http://apache.org/dev/openpgp.html#generate-key on how to generate a strong code signing key.
- Add your public key to the
KEYS
file at the root of the source code tree. - Create a new release branch, with version bumped to the next release version.
git checkout -b release/0.9.9
- Replace all
0.9.9.dev0
in the code tree to0.9.9
. git commit -am "Prepare 0.9.9rc1"
git tag -am "Apache PredictionIO Python SDK 0.9.9rc1" v0.9.9rc1
- Package a binary/source files.
python setup.py sdist bdist_wheel
- Generate MD5 and SHA512 checksums for the release candidates in dist directory.
gpg --print-md MD5 PredictionIO-0.9.9-py3-none-any.whl > PredictionIO-0.9.9-py3-none-any.whl.md5
gpg --print-md SHA512 PredictionIO-0.9.9-py3-none-any.whl > PredictionIO-0.9.9-py3-none-any.whl.sha512
gpg --print-md MD5 PredictionIO-0.9.9.tar.gz > PredictionIO-0.9.9.tar.gz.md5
gpg --print-md SHA512 PredictionIO-0.9.9.tar.gz > PredictionIO-0.9.9.tar.gz.sha512
- Generate detached signature for the release candidate. (http://apache.org/dev/release-signing.html#openpgp-ascii-detach-sig)
gpg --armor --output PredictionIO-0.9.9-py3-none-any.whl.asc --detach-sig PredictionIO-0.9.9-py3-none-any.whl
gpg --armor --output PredictionIO-0.9.9.tar.gz.asc --detach-sig PredictionIO-0.9.9.tar.gz
- If you have not done so, use SVN to checkout https://dist.apache.org/repos/dist/dev/incubator/predictionio/sdk-python. This is the area for staging release candidates for voting.
svn co https://dist.apache.org/repos/dist/dev/incubator/predictionio/sdk-python
- Create a subdirectory at the SVN staging area. The area should have a
KEYS
file. mkdir 0.9.9rc1
cp PredictionIO-0.9.9* 0.9.9rc1
- If you have updated the
KEYS
file, also copy that to the staging area. svn commit
- Wait for Travis to pass build on the release branch.
- Tag the release branch with a rc tag, e.g.
0.9.9rc1
. - Send out e-mail for voting on PredictionIO dev mailing list.
Subject: [VOTE] Apache PredictionIO SDK Python 0.9.9 Release (RC1)
This is the vote for 0.9.9 of Apache PredictionIO.
The vote will run for at least 72 hours and will close on Apr 7th, 2017.
The release candidate artifacts can be downloaded here:
https://dist.apache.org/repos/dist/dev/incubator/predictionio/sdk-python/0.9.9rc1/
Test results can be found here:
https://travis-ci.org/apache/incubator-predictionio-sdk-python/builds/XXXXXX
To install this python module:
$ pip install PredictionIO-0.9.9.tar.gz
or
$ pip3 install PredictionIO-0.9.9-py3-none-any.whl
The artifacts have been signed with Key : YOUR_KEY_ID
Please vote accordingly:
[ ] +1, accept RC as the official 0.9.9 release
[ ] 0, neutral because...
[ ] -1, do not accept RC as the official 0.9.9 release because...
- Publish files to PyPI if the vote is passed.
twine upload dist/PredictionIO-0.9.9.tar.gz dist/PredictionIO-0.9.9.tar.gz.asc \ dist/PredictionIO-0.9.9-py3-none-any.whl dist/PredictionIO-0.9.9-py3-none-any.whl.asc
- Create release tag
git tag -am "Apache PredictionIO Python SDK 0.9.9" v0.9.9
- Merge release/0.9.9 into master and develop branch
- Bump up version in setup.py on develop branch