Skip to content

Commit 07ec59f

Browse files
committed
Update docs: +Hacking section w/ how to release
Signed-off-by: Chris Evich <cevich@redhat.com>
1 parent 5861788 commit 07ec59f

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

index.rst

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,78 @@ Documentation Module
723723
:members:
724724
:no-undoc-members:
725725

726+
727+
----------------
728+
Hacking
729+
----------------
730+
731+
732+
Rolling a new minor version
733+
===========================
734+
735+
When the time is right, a large number of PRs have been merged, and you're in
736+
the right mood, it's time for a new minor release. Assuming the last tagged
737+
version was ``0.8.6``, here are the steps required:
738+
739+
#. Make sure your master branch exactly matches upstream:
740+
741+
``git remote update``
742+
``git checkout master``
743+
``git reset --hard upstream/master``
744+
745+
#. Create a new branch off master with the next number:
746+
747+
``git checkout -tb 0.8.7``
748+
749+
#. Bump the version number up in three places:
750+
751+
``$EDITOR config_defaults/defaults.ini dockertest/version.py conf.py``
752+
753+
#. Create a release commit:
754+
755+
``git commit -asm "Dockertest Version 0.8.7 (NO API Changes)"``
756+
757+
#. Push to your fork, and open a PR targeting the previous milestone, ``0.8.7``
758+
in this case.
759+
760+
#. After PR is merged, switch back to master, update it, and tag the version, and push.
761+
762+
``git remote update``
763+
``git checkout master``
764+
``git reset --hard upstream/master``
765+
``git tag 0.8.7 HEAD``
766+
``git push --tags upstream``
767+
768+
#. `Create a new release`_, using the just tagged version and the closed milestone
769+
as the title. e.g. "``Dockertest Version 0.8.7 (NO API Changes)``". This will
770+
cause github to automatically produce a zip and tarball, with URLs for historical
771+
reference or use (i.e. somewhere ``git`` is not available).
772+
773+
For the release notes (big text box under the title), link to the github
774+
comparison URL formed by the last two tags with ``...`` in-between (end of the url):
775+
776+
``[Changes](https://github.com/autotest/autotest-docker/compare/0.8.6...0.8.7)``
777+
778+
The actual github comparison page (URL above) can also be used as reference for
779+
drafting a release-announcement e-mail, providing brownie-points and karma
780+
for all the people who helped out.
781+
782+
#. Next, `close the previous milestone`_ (``0.8.7`` for this example).
783+
784+
#. `Create the next milestone`_ (next version PRs will be attached to),
785+
named "``Docker Autotest Version 0.8.8 (NO API Changes)``", add a description
786+
and due-date if desired.
787+
788+
#. Move any currently open PRs the new milestone (right side pane of each PRs page).
789+
790+
791+
.. _`Create a new release`: https://github.com/autotest/autotest-docker/releases/new
792+
793+
.. _`Create the next milestone`: https://github.com/autotest/autotest-docker/milestones/new
794+
795+
.. _`close the previous milestone`: https://github.com/autotest/autotest-docker/milestones
796+
797+
726798
----------------
727799
Further Reading
728800
----------------

0 commit comments

Comments
 (0)