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