@@ -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----------------
727799Further Reading
728800----------------
0 commit comments