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