Making a release ================ 1. Make sure configure.ac has the right version number 2. Update NEWS file (use "make release-news" target and then edit as you see fit) 3. Run make distcheck, fix any issues and commit. 4. Upload tarball: scp pygobject-3.X.Y.tar.gz master.gnome.org: 5. Install tarball: ssh master.gnome.org 'ftpadmin install pygobject-3.X.Y.tar.gz' 6. Commit NEWS as "release 3.X.Y" and push 7. Tag with: git tag -s 3.X.Y -m "release 3.X.Y" 8. Push tag with: git push origin 3.X.Y 9. Commit post-release version bump to configure.ac 10. Send release announcements to gnome-announce-list@gnome.org; pygtk@daa.com.au; python-hackers-list@gnome.org; python-announce-list@python.org 11. blog about it (include the HTMLized NEWS that "make release-news" prints) Based on http://live.gnome.org/MaintainersCorner/Releasing Branching ========= Each cycle after the feature freeze, we create a stable branch so development can continue in the master branch unaffected by the freezes. 1. Create the branch locally with: git checkout pygobject-3-2 2. Push new branch: git push origin pygobject-3-2 3. In master, update configure.ac to what will be the next version number (3.3.0) 4. Announce the branching, send email telling people to continue development in master and cherry-picking the changes that are appropriate for the stable branch Tests ===== 'make check' execute all tests 'make check TEST_NAMES="test_gi"' executes the tests in test_gi.py 'make check TEST_NAMES="test_gi.TestUtf8"' executes the tests in test_gi.TestUtf8 'make check TEST_NAMES="test_gi.TestUtf8.test_utf8_full_return"' executes the test_gi.TestUtf8.test_utf8_full_return test 'make check.gdb' executes all the tests in a gdb session 'make check.valgrind' executes all the tests in valgrind