1 These are Bdale's notes on how to do a release.
5 - make sure the Google Maps API key is in the build chroot and root
6 mkdir -p /var/cache/pbuilder/base.cow/opt/google /opt/google
7 cp ~/altusmetrumllc/google-maps-api-key \
8 /var/cache/pbuilder/base.cow/opt/google/maps-api-key
9 ln -sf /home/bdale/altusmetrumllc/google-maps-api-key \
10 /opt/google/maps-api-key
12 - make sure there is a doc/release-notes-<version>.xsl
13 - make sure that doc/altusmetrum.xsl has the right copyright year,
14 and add release to the revision history at the front (release notes
15 will be pulled in automatically)
17 - get a Google Maps API key and install it in
18 ~/altusmetrumllc/google-maps-api-key. If you don't have a
19 key, the app will still work, but downloading map tiles will
20 be slow, and you will only be able to download a limited
23 - update the version in configure.ac
27 - make absolutely sure checked-out tree is "clean"
28 - make absolutely sure the pdclib/ submodule is on the master branch,
29 up to date, and "clean"
31 - if this is an x.y release, then:
32 git checkout -b branch-<version>
34 - edit .git/gbp.conf to use branch-<version> as upstream
36 - if this is an x.y.z release, then:
37 git checkout branch-<version> # the x.y parts only
39 git tag -a <version> # full x.y.z version
42 git merge branch-<version>
44 - verify debian/changelog is "clean" ending in last release version
45 - craft a suitable debian/changelog entry, possibly using:
46 git-dch --release --new-version=<version>-1 --multimaint-merge
48 git commit -n debian/changelog -m "update changelog for Debian build"
50 - if this is a -1 release, then
51 git-buildpackage --git-no-pristine-tar --git-submodules \
52 --git-upstream-branch=branch-<version> \ # eg 1.3
53 --git-upstream-tag=<version> # eg 1.3.1
55 ../build-area/altos_<version>.orig.tar.gz \
57 else if this is not a -1 release
58 git-buildpackage --git-submodules
60 git tag debian/<version>
62 - at this point we have packages in ~/debian/build-area/altos, now
63 we move on to the non-Debian part of the release process
67 ./autogen.sh --with-fat-dir=/home/bdale/web/altusmetrum/AltOS/releases
70 this pushes packages for each platform to web site
72 # store a stable copy of ARM binaries for production use
73 cp src/easymini-v1.0/*.elf \
74 src/telegps-v1.0/*.elf \
75 src/telemega-v1.0/*.elf \
76 src/telemetrum-v2.0/*.elf \
77 ~/altusmetrumllc/Binaries/
78 cp src/easymini-v1.0/flash-loader/*.elf \
79 src/telegps-v1.0/flash-loader/*.elf \
80 src/telemega-v1.0/flash-loader/*.elf \
81 src/telemetrum-v2.0/flash-loader/*.elf \
82 ~/altusmetrumllc/Binaries/loaders/
83 (cd ~/altusmetrumllc ; git add Binaries ; git commit -a)
85 - copy the relevant release notes file from doc/ to
86 /home/bdale/web/altusmetrum/AltOS/releases/<rev>
88 - create /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>,
89 and move the MicroPeak installers from AltOS/releases to there
91 - create /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>,
92 and move the MicroPeak installers from AltOS/releases to there
94 - go edit ~/web/altusmetrum/AltOS/releases/<rev>.mdwn,
95 /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>.mdwn, and
96 /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>.mdwn, to
97 include release date and explicit ref to dir contents so the
98 web pages shows versioned links, commit and push
100 (cd doc ; make publish)
102 this pushes fresh documents to the web site
104 sudo debian/rules clean
105 git push origin master branch-<version> debian pristine-tar
108 push commits and leave the build tree in an uncluttered state
110 Testing before a release
112 To verify that a build works, the following need to be checked
117 2) Connect TM *and* TD devices. Verify that you can Monitor
118 Flight from the TD and Configure Telemetrum from the TM.
120 3) Replay Flight, using your favorite .eeprom file. Check
121 each tab, especially the 'Site Map' tab. Make sure the
124 4) Graph Data. Graph a favorite .eeprom file. Make sure you
125 can zoom in on some region of the graph.