Making a release ================ 1. Run make distcheck, fix any issues and commit 2. Make sure configure.ac has the right version number, fix it in a pre-release commit if not. 3. Update NEWS, use the command: git log --format=" - %s (%an)" 4. Tag with: git tag -s 2.90.4 5. Build tarball with: make distclean; ./autogen.sh; make; make dist 6. Upload tarball: scp pygobject-2.21.5.tar.gz tomeuv@master.gnome.org: 7. Install tarball: ssh tomeuv@master.gnome.org 'install-module pygobject-2.21.5.tar.gz' 8. Send release announcements to gnome-announce-list@gnome.org; pygtk@daa.com.au; python-hackers-list@gnome.org; python-announce-list@python.org 9. blog about it 10. Make post-release version bump 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