To release a new version of QtAwesome (on PyPI and Conda-forge) follow these steps
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 usingconda, you can create areleaseenvironment withconda 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
upstreamremote pointing to the project original repo) -
The corresponding credentials (PyPI, GitHub, etc).
-
Update local repo with
git fetch upstream && git checkout master && git merge upstream/master -
Close the current milestone on GitHub
-
Clean your local repo with (selecting option 1)
git clean -xfdi -
Update
CHANGELOG.mdwithloghub 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 workcommit withgit add . && git commit -m "Back to work" -
Push changes and tag with
git push upstream master && git push upstream --tags -
Create a GitHub Release (
Draft a new releaseandPublish release). You can use theAuto generate release notesas a base template for the release description and to that add a link to the Changelog (the new release related info).
- After doing the release on PyPI check for the
regro-cf-autotick-botautomatic PR on the QtAwesome feedstock repo. Review it, check if any dependency or changes are needed and merge it.