Doing a release
Doing a release of lemur
is now mostly automated and consists of the following steps:
Raise a PR to add the release date and summary in the Changelog.
Merge above PR and create a new Github release: set the tag starting with v, e.g., v0.9.0
The publish workflow uses the git tag to set the release version.
The following describes the manual release steps, which is now obsolete:
Manually Bumping the version number
The next step in doing a release is bumping the version number in the software.
Update the version number in
lemur/__about__.py
.Set the release date in the Changelog.
Do a commit indicating this, and raise a pull request with this.
Wait for it to be merged.
Manually Performing the release
The commit that merged the version number bump is now the official release commit for this release. You need an API key, which requires permissions to maintain the Lemur project.
For creating the release, follow these steps (more details here)
Make sure you have the latest versions of setuptools and wheel installed:
python3 -m pip install --user --upgrade setuptools wheel
Now run this command from the same directory where setup.py is located:
python3 setup.py sdist bdist_wheel
Once completed it should generate two files in the dist directory:
$ ls dist/
lemur-0.8.0-py2.py3-none-any.whl lemur-0.8.0.tar.gz
In this step, the distribution will be uploaded. You’ll need to install Twine:
python3 -m pip install --user --upgrade twine
Once installed, run Twine to upload all of the archives under dist. Once installed, run Twine to upload all of the archives under dist:
python3 -m twine upload --repository pypi dist/*
The release should now be available on PyPI Lemur and a tag should be available in the repository.
Make sure to also make a github release which will pick up the latest version.
Verifying the release
You should verify that pip install lemur
works correctly:
>>> import lemur
>>> lemur.__version__
'...'
Verify that this is the version you just released.
Post-release tasks
Update the version number to the next major (e.g.
0.5.dev1
) inlemur/__about__.py
andAdd new Changelog entry with next version and note that it is under active development
Send a pull request with these items
Check for any outstanding code undergoing a deprecation cycle by looking in
lemur.utils
forDeprecatedIn**
definitions. If any exist open a ticket to increment them for the next release.