summaryrefslogtreecommitdiff
path: root/HACKING
blob: aba49858274a8ad6c5d3986b0a32404946973910 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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. Tag with: git tag -s 3.X.Y -m "release 3.X.Y"
7. Push tag with: git push origin 3.X.Y
8. Commit post-release version bump to configure.ac
9. Send release announcements to gnome-announce-list@gnome.org; pygtk@daa.com.au; python-hackers-list@gnome.org; python-announce-list@python.org
10. 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