summaryrefslogtreecommitdiff
path: root/RELEASING
blob: 5363627d38696638d8882ab5e5dd4e8b081f1007 (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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
Steps to follow to create a new py2cairo release
------------------------------------------------

1) Add a new NEWS entry
Sift through the information in 'git log' since the last release. Summarize
major changes briefly in a style similar to other entries in NEWS.


2) Increment pycairo and cairo version numbers in:
   configure.ac
   doc/conf.py
   README
   wscript


3) Create the archive
$ cd doc
$ make clean; make html  # view docs and ensure version number is correct

$ cd ..
$ ./waf distcheck  # ensure there are no errors
$ rm -rf py2cairo-X.X.X*

$ make clean  # clean from autotools
$ ./waf clean distclean
$ ./waf dist       # to create py2cairo-x.x.x.tar.bz2
                   # create sha1 sum
$ sha1sum py2cairo-x.x.x.tar.bz2 > py2cairo-x.x.x.tar.bz2.sha1
  # ensure html docs are present in the archive

$ mv py2cairo-X.X.X* /tmp
  # install from the archive, run tests and examples.


4) git commit  # the changes to NEWS, etc.
It's especially important to mention the new version number in the git commit
comment.
Add a '=== Py2cairo x.x.x ===' header.

$ git tag X.Y.Z
  push the changes to the freedesktop server.
$ git push origin master


5) Copy the archive to the cairo download server
$ chmod a+r /tmp/py2cairo*
$ scp py2cairo-x.x.x.tar.bz2 py2cairo-x.x.x.tar.bz2.sha1 cairographics.org:/srv/cairo.freedesktop.org/www/releases


6) Verify that the tar file arrived at the website.
   Check tar file has read permissions for all.
   Update the pycairo webpage to reference the new release.
   Update http://cheeseshop.python.org entry for pycairo.


7) Send a message to cairo-announce@cairographics.org
              and CC python-announce-list@python.org
   to announce the new release using the template below

Subject: ANN: py2cairo release X.X.X now available

Py2cairo is a set of Python 2.x bindings for the multi-platform 2D
graphics library cairo.
  http://cairographics.org
  http://cairographics.org/pycairo

Py2cairo release X.X.X is available from:
  http://cairographics.org/releases/py2cairo-X.X.X.tar.bz2
  http://cairographics.org/releases/py2cairo-X.X.X.tar.bz2.sha1

<insert NEWS here ...>


8) Generate documentation and copy to cairo web server
$ cd doc/_build/html
$ tar cjf /tmp/html.tar.bz2 *  # adds files to top level of archive
$ scp /tmp/html.tar.bz2 cairographics.org:/srv/cairo.freedesktop.org/www/documentation/pycairo/2
$ ssh cairographics.org
  # login and untar the file
  # test pycairo docs can be read from web
  # check everyone has read permission (and 'x' for dirs)


9) Increment pycairo version number, to next odd number in:
   configure.ac
   doc/conf.py
   wscript
$ git commit
$ git push origin master