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 78 79 80 81
|
=====================
Maintainer Guidelines
=====================
Downstream Bug Trackers
-----------------------
Some bug reports never make it to us so check these once in a while.
* `Fedora <https://apps.fedoraproject.org/packages/quodlibet/bugs>`_
* `Debian <https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=quodlibet>`_
* `Arch Linux <https://bugs.archlinux.org/?project=1&string=quodlibet>`_
* `Ubuntu <https://launchpad.net/ubuntu/+source/quodlibet/+bugs>`_
* `Gentoo <https://bugs.gentoo.org/buglist.cgi?quicksearch=media-sound%2Fquodlibet>`_
Tags & Branches
---------------
At the point where no more functionality will be added to a release,
a new branch gets created.
All bug fixes pushed to the default branch should
be cherry-picked to the respective stable branches and vice versa.
::
. .
/|\ /|\
| |
| |
3.6.-1 / <--- "quodlibet-3.5" branch
|_____/ .
| /|\
| |
| 3.4.1 <--- "release-3.4.1" tag
| |
| 3.4.0.-1
| |
| 3.4 <--- "release-3.4.0" tag
| |
3.5.-1 /
|______/ <--- "quodlibet-3.4" branch
|
| <--- default branch
3.4.-1
|
/|\
Release Checklist
-----------------
New stable branch
^^^^^^^^^^^^^^^^^
You can now use the ``dev-utils/new-branch.sh`` script to help do this.
New stable release
^^^^^^^^^^^^^^^^^^
* ``git checkout quodlibet-x.y``
* Cherry-pick stuff from default branch
* Grab title from `Daily Dinosaur Comics <http://www.qwantz.com/>`_
* Update :ref:`News` with a list of all bugfixes and features since last release
* ``git commit -m "update NEWS"``
* ``setup.py distcheck``
* Update version to ``(X, Y, Z)`` in ``const.py``
* Update version to ``(X, Y, Z)`` in ``appdata.xml.in``
* ``git commit -m "release prep"``
* ``git tag release-x.y.z``
* ``git push origin release-x.y.z``
* Update version to ``(X, Y, Z, -1)``
* ``git commit -m "version bump"``
* Cherry-pick ``NEWS`` commit onto default branch
* Create Windows builds / tarballs / macOS DMGs
* Create checksums / signature, attach everything to the github tag
* Update ``release_db/make.py``; run ``./release_db/update.sh``
* Update stable PPAs (ubuntu/debian/OBS)
* Update the flathub repo
* Announce on IRC / Discord / Twitter etc
|