Releasing Qtile
Here is a short document about how to tag Qtile releases.
create a "Release vX.XX.XX" commit. I like to thank all the contributors; I find that list with something like:
git log --oneline --no-merges --format=%an $(git describe --tags --abbrev=0)..HEAD | sort -u
note that this can sometimes generate duplicates if people commit with slightly different names; I typically clean it up manually.
Be sure that you GPG-sign (i.e. the -S argument to git commit) this commit.
Create a GPG-signed annotated tag (
git tag -a -s vX.XX.XX); I usually just use exactly the same commit message as the actual release commit above.Push your tag to qtile/qtile directly:
git push origin vX.XX.XX
Check the Release action; the "Test PyPI upload" action should build and upload the wheels to the test environment. If this step breaks, you can delete your tag (
git push ... :vX.XX.XX), fix the bug, re-tag, and hopefully that will work.Create a new Github release; this is what will trigger the actions in
.github/workflows/release.ymlto actually do the real pypi upload.Make sure all of these actions complete as green. The release should show up in a few minutes after completion here: https://pypi.org/project/qtile/
Push your tag commit to master.
Update the release string on qtile.org.
Relax and enjoy a $beverage. Thanks for releasing!