-
Notifications
You must be signed in to change notification settings - Fork 182
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)
You will need to have the pandoc
command installed, as well as the pypandoc
module in the global Python environment (or global pyenv
environment if you're using that, which you should be!).
Once that is done, make sure each of these are done:
-
RELNOTES.md
update -
Annoted tag for release:
git tag --sign -a 2.3.0 -m "Release 2.3.0" --local-user AABBCCDD
-
Upload to PyPI:
make RELEASE_GPG_KEYNAME=1234ABCD release
Other items:
- Update docs using Sphinx in the
gh-pages
branch. - Send out message to mailing list.
- Create a
2.4-stable
branch (no minor version) using the latest2.4
tag as the base if a patch must be made to the client while other, newer development has occurred. - Ensure that readthedocs.org has updated itself.
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.