1 These are Bdale's notes on how to do a release.
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)
10 - get a Google Maps API key and install it in
11 ~/altusmetrumllc/google-maps-api-key. If you don't have a
12 key, the app will still work, but downloading map tiles will
13 be slow, and you will only be able to download a limited
16 - update the version in configure.ac
20 - make absolutely sure checked-out tree is "clean"
21 - make absolutely sure the pdclib/ submodule is on the master branch,
22 up to date, and "clean"
24 - if this is an x.y release, then:
25 git checkout -b branch-<version>
27 - edit .git/gbp.conf to use branch-<version> as upstream
29 - if this is an x.y.z release, then:
30 git checkout branch-<version> # the x.y parts only
32 git tag -a <version> # full x.y.z version
35 git merge branch-<version>
37 - verify debian/changelog is "clean" ending in last release version
38 - craft a suitable debian/changelog entry, possibly using:
39 git-dch --release --new-version=<version>-1 --multimaint-merge
41 git commit -n debian/changelog -m "update changelog for Debian build"
43 - if this is a -1 release, then
44 git-buildpackage --git-no-pristine-tar --git-submodules \
45 --git-upstream-branch=branch-<version> \ # eg 1.3
46 --git-upstream-tag=<version> # eg 1.3.1
48 ../build-area/altos_<version>.orig.tar.gz \
50 else if this is not a -1 release
51 git-buildpackage --git-submodules
53 git tag debian/<version>
55 - at this point we have packages in ~/debian/build-area/altos, now
56 we move on to the non-Debian part of the release process
60 ./autogen.sh --with-fat-dir=/home/bdale/web/altusmetrum/AltOS/releases
63 this pushes packages for each platform to web site
65 # store a stable copy of ARM binaries for production use
66 cp src/easymini-v1.0/*.elf \
67 src/telemega-v1.0/*.elf \
68 src/telemetrum-v2.0/*.elf \
69 ~/altusmetrumllc/Binaries/
70 cp src/easymini-v1.0/flash-loader/*.elf \
71 src/telemega-v1.0/flash-loader/*.elf \
72 src/telemetrum-v2.0/flash-loader/*.elf \
73 ~/altusmetrumllc/Binaries/loaders/
74 (cd ~/altusmetrumllc ; git commit -a)
76 - copy the relevant release notes file from doc/ to
77 /home/bdale/web/altusmetrum/AltOS/releases/<rev>
79 - create /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>,
80 and move the MicroPeak installers from AltOS/releases to there
82 - go edit ~/web/altusmetrum/AltOS/releases/<rev>.mdwn and
83 /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>.mdwn, to
84 include release date and explicit ref to dir contents so the
85 web pages shows versioned links, commit and push
87 (cd doc ; make publish)
89 this pushes fresh documents to the web site
91 sudo debian/rules clean
92 git push origin master branch-<version> debian pristine-tar
95 push commits and leave the build tree in an uncluttered state
97 Testing before a release
99 To verify that a build works, the following need to be checked
104 2) Connect TM *and* TD devices. Verify that you can Monitor
105 Flight from the TD and Configure Telemetrum from the TM.
107 3) Replay Flight, using your favorite .eeprom file. Check
108 each tab, especially the 'Site Map' tab. Make sure the
111 4) Graph Data. Graph a favorite .eeprom file. Make sure you
112 can zoom in on some region of the graph.