Please go through this link Maintainer Responsibility
Fork minio-py upstream source repository to your own personal repository.
$ git clone git@github.com:minio/minio-py
$ cd minio-py
$ pip install urllib3 certifi pytz pyflakes faker twine
$ cat minio/__init__.py
...
...
__version__ = '2.2.5'
...
...
Run ./tests/unit_test.sh
and ./tests/functional_test.sh
to verify the SDK.
$ ./tests/unit_test.sh
$ ./tests/functional_test.sh all
$ python setup.py sdist bdist bdist_wheel
Create a new pypirc
$ cat >> $HOME/.pypirc << EOF
[distutils]
index-servers =
pypi
[pypi]
username:minio
password:**REDACTED**
EOF
Sign the release artifacts, this step requires you to have access to Minio's trusted private key.
$ export GNUPGHOME=/media/${USER}/minio/trusted
$ gpg --detach-sign -a dist/minio-2.2.5.tar.gz
$ gpg --detach-sign -a dist/minio-2.2.5.linux-x86_64.tar.gz
$ gpg --detach-sign -a dist/minio-2.2.5-py2.py3-none-any.whl
Upload the signed release artifacts, please install twine v1.8.0+ for following steps to work properly.
$ twine upload dist/*
Tag and sign your release commit, additionally this step requires you to have access to Minio's trusted private key.
$ export GNUPGHOME=/media/${USER}/minio/trusted
$ git tag -s 2.2.5
$ git push
$ git push --tags
Announce new release by adding release notes at https://github.com/minio/minio-py/releases from trusted@minio.io
account. Release notes requires two sections highlights
and changelog
. Highlights is a bulleted list of salient features in this release and Changelog contains list of all commits since the last release.
To generate changelog
git log --no-color --pretty=format:'-%d %s (%cr) <%an>' <last_release_tag>..<latest_release_tag>