Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
[fw/altos] / Releasing
1 These are Bdale's notes on how to do a release.
2
3         git checkout master
4         - update the version in configure.ac
5         git log > ChangeLog
6         git commit -a
7         - make absolutely sure checked-out tree is "clean" 
8         - if this is an x.y release, then:
9                 git checkout -b branch-<version>
10                 git tag -a <version>
11         - if this is an x.y.z release, then:
12                 git checkout branch-<version>           # the x.y parts only
13                 git merge master
14                 git tag -a <version>                    # full x.y.z version
15
16         - edit .git/gbp.conf to use branch-<version> as upstream if needed
17
18         git checkout debian
19         git merge branch-<version>
20
21         - verify debian/changelog is "clean" ending in last release version
22         - craft a suitable debian/changelog entry, possibly using:
23         git-dch --release --new-version=<version>-1 --multimaint-merge
24
25         git commit -n debian/changelog -m "update changelog for Debian build"
26
27         git-buildpackage --git-no-pristine-tar 
28         pristine-tar commit ../build-area/altos/altos_<version>.orig.tar.gz
29         git tag debian/<version>
30
31         - at this point we have packages in ~/debian/build-area/altos, now
32           we move on to the non-Debian part of the release process
33
34         make distclean
35
36         ./autogen.sh --with-fat-dir=/home/bdale/web/altusmetrum/AltOS/releases
37         make && make fat
38
39                 this pushes packages for each platform to web site
40
41         - copy the relevant release notes file from doc/ to 
42             /home/bdale/web/altusmetrum/AltOS/releases/<rev>
43
44         - go edit ~/web/altusmetrum/AltOS/releases/<rev>.mdwn to include
45           release date and explicit ref to dir contents so the AltOS page
46           shows versioned links, commit and push
47
48         (cd doc ; make publish)
49
50                 this pushes fresh documents to the web site
51
52         sudo debian/rules clean
53         git push
54         git push --tags
55
56                 push commits and leave the build tree in an uncluttered state
57
58 Testing before a release
59
60         To verify that a build works, the following need to be checked
61         on each platform:
62
63         1) Install package
64
65         2) Connect TM *and* TD devices. Verify that you can Monitor
66            Flight from the TD and Configure Telemetrum from the TM.
67
68         3) Replay Flight, using your favorite .eeprom file. Check
69            each tab, especially the 'Site Map' tab. Make sure the
70            sound works.
71
72         4) Graph Data. Graph a favorite .eeprom file. Make sure you
73            can zoom in on some region of the graph.