-
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 manually 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
- 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
python3.5 setup.py bdist_egg upload -s -i AABBCCDD
- Create a
2.3-stable
branch (no minor version) - Update readthedocs.org
- Need to have a login and be an administrator
- Trigger a stable build
- 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.