altoslib/altosui: begin moving preferences "backend" into interface
[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         - make sure that doc/altusmetrum.xsl has the right copyright year,
45           and add release to the revision history at the front (release notes
46           will be pulled in automatically)
47
48         - go edit ~/web/altusmetrum/AltOS/releases/<rev>.mdwn to include
49           release date and explicit ref to dir contents so the AltOS page
50           shows versioned links, commit and push
51
52         (cd doc ; make publish)
53
54                 this pushes fresh documents to the web site
55
56         sudo debian/rules clean
57         git push
58         git push --tags
59
60                 push commits and leave the build tree in an uncluttered state
61
62 Testing before a release
63
64         To verify that a build works, the following need to be checked
65         on each platform:
66
67         1) Install package
68
69         2) Connect TM *and* TD devices. Verify that you can Monitor
70            Flight from the TD and Configure Telemetrum from the TM.
71
72         3) Replay Flight, using your favorite .eeprom file. Check
73            each tab, especially the 'Site Map' tab. Make sure the
74            sound works.
75
76         4) Graph Data. Graph a favorite .eeprom file. Make sure you
77            can zoom in on some region of the graph.