1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
## Instructions to release a new QtAwesome version
To release a new version of QtAwesome (on PyPI and Conda-forge) follow these steps
### Prerequisites
In order to do a release, you need to have:
* An environment with the packages required to do the release (`loghub`, `pip`, `setuptools`, `twine`, `wheel`). If using `conda`, you can create a `release` environment with
conda create -n release python=3.9
conda activate release
pip install -U pip setuptools twine wheel loghub
* A clone of this repository (usually your fork with an `upstream` remote pointing to the project original repo)
* The corresponding credentials (PyPI, GitHub, etc).
### PyPI
* Update local repo with
git fetch upstream && git checkout master && git merge upstream/master
* Close the current [milestone on GitHub](https://github.com/spyder-ide/qtawesome/milestones)
* Clean your local repo with (selecting option 1)
git clean -xfdi
* Update `CHANGELOG.md` with
loghub spyder-ide/qtawesome -m vX.Y.Z
* Update `_version.py` (set release version, remove 'dev0'):
git add . && git commit -m "Release X.Y.Z"
* Update the most important release packages with
pip install -U pip setuptools twine wheel loghub
* Create source distribution with
python setup.py sdist
* Create wheel with
python setup.py bdist_wheel
* Check generated files with
twine check dist/*
* Upload generated files with
twine upload dist/*
* Create release tag with
git tag -a vX.Y.Z -m "Release X.Y.Z"
* Update `_version.py` (add 'dev0' and increment minor)
* Create `Back to work` commit with
git add . && git commit -m "Back to work"
* Push changes and tag with
git push upstream master && git push upstream --tags
* Create a [GitHub Release](https://github.com/spyder-ide/qtawesome/releases) (`Draft a new release` and `Publish release`). You can use the `Auto generate release notes` as a base template for the release description and to that add a link to the Changelog (the new release related info).
### Conda-forge
* After doing the release on PyPI check for the `regro-cf-autotick-bot` automatic PR on the [QtAwesome feedstock repo](https://github.com/conda-forge/qtawesome-feedstock/pulls). Review it, check if any dependency or changes are needed and merge it.
|