setup.py: Rework pycairo discovery to not use pkg-config
[pygobject.git] / HACKING
blob4d96e9a6b43868246db89c4bbb7517be8ef6ac6e
1 Making a release
2 ================
4 1. Make sure configure.ac has the right version number
5 2. Update NEWS file (use "make release-news" target and then edit as you see fit)
6 3. Run make distcheck, fix any issues and commit.
7 4. Upload tarball: scp pygobject-3.X.Y.tar.gz master.gnome.org:
8 5. Install tarball: ssh master.gnome.org 'ftpadmin install pygobject-3.X.Y.tar.gz'
9 6. Commit NEWS as "release 3.X.Y" and push
10 7. Tag with: git tag -s 3.X.Y -m "release 3.X.Y"
11 8. Push tag with: git push origin 3.X.Y
12 9. Commit post-release version bump to configure.ac
13 10. Send release announcements to gnome-announce-list@gnome.org; pygtk@daa.com.au; python-hackers-list@gnome.org; python-announce-list@python.org
14 11. blog about it (include the HTMLized NEWS that "make release-news" prints)
16 Based on http://live.gnome.org/MaintainersCorner/Releasing
18 Branching
19 =========
21 Each cycle after the feature freeze, we create a stable branch so development can continue in the master branch unaffected by the freezes.
23 1. Create the branch locally with: git checkout -b pygobject-3-2
24 2. Push new branch: git push origin pygobject-3-2
25 3. In master, update configure.ac to what will be the next version number (3.3.0)
26 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
28 Tests
29 =====
31 'make check' execute all tests
32 'make check TEST_NAMES="test_gi"' executes the tests in test_gi.py
33 'make check TEST_NAMES="test_gi.TestUtf8"' executes the tests in test_gi.TestUtf8
34 'make check TEST_NAMES="test_gi.TestUtf8.test_utf8_full_return"' executes the test_gi.TestUtf8.test_utf8_full_return test
35 'make check.gdb' executes all the tests in a gdb session
36 'make check.valgrind' executes all the tests in valgrind
37 'make check.quality' executes pyflakes and pep8 tests