|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
--- |
|
|
|
|
title: My Python release workflow |
|
|
|
|
tags: [python, git, workflow, aur, arch] |
|
|
|
|
updated: 2020-06-23 15:55 |
|
|
|
|
updated: 2020-06-24 16:20 |
|
|
|
|
description: A personal reminder with the instructions for releasing new versions of Python packages |
|
|
|
|
--- |
|
|
|
|
|
|
|
|
@ -17,6 +17,10 @@ in case of a new version release with some of my Python repositories.
|
|
|
|
|
- Variables are marked with braces and the dollar sign, e.g: `${variable}`. |
|
|
|
|
- `${MAJOR}`, `${MINOR}` and `${PATCH}` refer to the varaibles reported on the [Semantic Versioning](https://semver.org/#summary) document. |
|
|
|
|
- 3.5 <= Python version < 4 |
|
|
|
|
- commits and tags must be signed; run these commands once per repository: |
|
|
|
|
|
|
|
|
|
git config commit.gpgsign true |
|
|
|
|
git config user.signingkey ${gpg_signing_key} |
|
|
|
|
|
|
|
|
|
## Workflow |
|
|
|
|
|
|
|
|
@ -68,7 +72,7 @@ in case of a new version release with some of my Python repositories.
|
|
|
|
|
14. `git push` |
|
|
|
|
|
|
|
|
|
5. update the documentation |
|
|
|
|
1. `make doc` |
|
|
|
|
1. `make clean && make doc` |
|
|
|
|
2. `rm -rf ~/html && cp -aR docs/_build/html ~` |
|
|
|
|
3. `git checkout gh-pages` |
|
|
|
|
4. `rm -rf _sources _static` |
|
|
|
@ -80,13 +84,14 @@ in case of a new version release with some of my Python repositories.
|
|
|
|
|
6. merge the `${dev_branch}` branch into `master` and create a new annotated git tag |
|
|
|
|
1. `git checkout master` |
|
|
|
|
2. `git merge ${dev_branch}` |
|
|
|
|
3. `git tag -a ${version_id} -m "New release."` |
|
|
|
|
3. `git tag -s -a ${version_id} -m "New release."` |
|
|
|
|
4. `git push` |
|
|
|
|
5. `git push origin ${version_id}` |
|
|
|
|
|
|
|
|
|
7. upload the package to [PIP](https://pypi.org/) |
|
|
|
|
1. `make dist` |
|
|
|
|
2. `make upload` |
|
|
|
|
1. `make clean` |
|
|
|
|
2. `make dist` |
|
|
|
|
3. `make upload` |
|
|
|
|
|
|
|
|
|
8. update downstream distribution packages |
|
|
|
|
1. [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository) |
|
|
|
|