-
Notifications
You must be signed in to change notification settings - Fork 183
Releasing the Python Client
Currently Python has its own version of riak
client which lives out in PyPI:
These releases are manually built on developer machines and automagically uploaded to PyPI. There are two prerequisites for being able to release to PyPI. First you need to have a PGP Key and second, you need to be an administrator for those projects in PyPI. To determine your PGP key you can look it up via
gpg --list-keys /Users/user/.gnupg/pubring.gpg
You will need this .pypirc
file in your home directory:
[server-login]
username:javajolt
password:cleartextpassword
For each version you'll need to build a new version-specific egg distribution. These versions must be in your path to make the release:
python2.7
python3.3
python3.4
python3.5
Each of these versions must have these packages installed already:
six
-
protobuf
(Python 2) -
riak_pb
(Python 2) -
pyopenssl
(Python 2.7.8 and below) -
python3_protobuf
(Python 3) -
python3_riak_pb
(Python 3)
Once that is done, make sure each of these are done:
- Release Notes.md update
- Update
readthedocs.org
- Annoted tag for release:
git tag --sign -a 2.3.0 -m "Release 2.3.0" --local-user AABBCCDD
- Upload to PyPI:
python2.7 setup.py sdist upload -s -i AABBCCDD
python2.7 setup.py bdist_egg upload -s -i AABBCCDD
python3.3 setup.py bdist_egg upload -s -i AABBCCDD
python3.4 setup.py bdist_egg upload -s -i AABBCCDD
- Create a
2.3-stable
branch (no minor version) - Send out message to mailing list
Once the files have been uploaded, do a sanity check on PyPI. You should see something like this for each project:
File | Type | Py Version | Uploaded on | Size |
---|---|---|---|---|
riak-2.2.0-py2.6.egg (md5, pgp) | Python Egg | 2.6 | 2014-12-18 | 346KB |
riak-2.2.0-py2.7.egg (md5, pgp) | Python Egg | 2.7 | 2014-12-18 | 343KB |
riak-2.2.0-py3.3.egg (md5, pgp) | Python Egg | 3.3 | 2014-12-18 | 358KB |
riak-2.2.0-py3.4.egg (md5, pgp) | Python Egg | 3.4 | 2014-12-18 | 353KB |
riak-2.2.0.tar.gz (md5, pgp) | Source | 2014-12-18 | 150KB |
Each project also includes four eggs and a source tar file shown above. It's always good to test by pulling down a new version from PyPI just to be sure.
NOTE : You can create a release in PyPI once and only once. If you screw it up, you'll need to tag a new version and start over. There is no overwriting of old versions. You have been warned.