36 lines
1.5 KiB
Markdown
36 lines
1.5 KiB
Markdown
Release Checklist
|
|
-----------------
|
|
|
|
1. Switch to the master branch and stash any uncommited changes.
|
|
2. Bump the version number in [tuir/\_\_version\_\_.py](tuir/__version__.py).
|
|
3. Update the release notes in the [CHANGELOG.rst](CHANGELOG.rst).
|
|
4. Update the contributor list by running [``scripts/build_authors.py``](scripts/build_authors.py).
|
|
5. Re-generate the manpage by running [``scripts/build_manpage.py``](scripts/build_manpage.py).
|
|
6. Make sure the bundled packages are up-to-date by running [``scripts/update_packages.py``](scripts/update_packages.py).
|
|
7. Commit all changes to the master branch.
|
|
8. Clean out any old build/release files by running [``scripts/pip_clean.py``](scripts/pip_clean.py).
|
|
9. Build the source tarball and binary wheel: ``$ python3 setup.py sdist bdist_wheel``
|
|
10. Upload the packages to PyPI: ``$ twine upload dist/*``
|
|
11. Verify that the upload was successful: ``$ pip install tuir --upgrade --force-reinstall``
|
|
12. Smoke test the new release on Python 2 and Python 3.
|
|
12. Create a new release on Github and copy the release notes from the changelog.
|
|
13. Use Github to delete any old branches that have been merged.
|
|
|
|
Packaging Guide
|
|
---------------
|
|
|
|
The most up-to-date and pragmatic guide on packaging for PyPI is given here (as of Fall 2017):
|
|
|
|
https://packaging.python.org/tutorials/distributing-packages/
|
|
|
|
PyPI Credentials
|
|
----------------
|
|
|
|
PyPI credentials are stored in plaintext in the **~/.pypirc** file.
|
|
|
|
```
|
|
[pypi]
|
|
username = michael-lazar
|
|
password = secret
|
|
```
|