1 These are Bdale's notes on how to do a release.
3 - make sure build environment is up to date
4 sudo cowbuilder --update
8 - make sure the Google Maps API key is in the build chroot and root
9 sudo mkdir -p /var/cache/pbuilder/base.cow/opt/google /opt/google
10 sudo cp ~/altusmetrumllc/google-maps-api-key \
11 /var/cache/pbuilder/base.cow/opt/google/maps-api-key
12 sudo ln -sf /home/bdale/altusmetrumllc/google-maps-api-key \
13 /opt/google/maps-api-key
15 - if this is an x.y release, then:
16 git checkout -b branch-<version>
18 - if this is an x.y.z release, then:
19 git checkout branch-<version> # the x.y parts only
20 - cherry-pick or merge appropriate content from master
22 - update the version in configure.ac
24 - make sure there is a doc/release-notes-<version>.xsl
25 - make sure that doc/altusmetrum.xsl has the right copyright year,
26 and add release to the revision history at the front (release notes
27 will be pulled in automatically)
28 - make absolutely sure checked-out tree is "clean"
29 - make absolutely sure the pdclib/ submodule is on the master branch,
30 up to date, and "clean"
34 git tag -a <version> # full x.y.z version
36 - make sure .git/gbp.conf set to use branch-<version> as upstream
39 git merge branch-<version>
41 - verify debian/changelog is "clean" ending in last release version
42 - craft a suitable debian/changelog entry, possibly using:
43 git-dch --release --new-version=<version>-1 --multimaint-merge
45 git commit -n debian/changelog -m "update changelog for Debian build"
47 - if this is a -1 release, then
48 git-buildpackage --git-no-pristine-tar --git-submodules \
49 --git-upstream-branch=branch-<version> \ # eg 1.3
50 --git-upstream-tag=<version> # eg 1.3.1
52 ../build-area/altos_<version>.orig.tar.gz \
54 else if this is not a -1 release
55 git-buildpackage --git-submodules
57 git tag debian/<version>
59 - at this point we have packages in ~/debian/build-area/altos, now
60 we move on to the non-Debian part of the release process
64 ./autogen.sh --with-fat-dir=/home/bdale/web/altusmetrum/AltOS/releases
67 this pushes packages for each platform to web site
69 # store a stable copy of ARM binaries for production use
70 cp src/easymini-v1.0/*.elf \
71 src/telegps-v1.0/*.elf \
72 src/telemega-v1.0/*.elf \
73 src/telemetrum-v2.0/*.elf \
74 ~/altusmetrumllc/Binaries/
75 cp src/easymini-v1.0/flash-loader/*.elf \
76 src/telegps-v1.0/flash-loader/*.elf \
77 src/telemega-v1.0/flash-loader/*.elf \
78 src/telemetrum-v2.0/flash-loader/*.elf \
79 ~/altusmetrumllc/Binaries/loaders/
80 (cd ~/altusmetrumllc ; git add Binaries ; git commit -a)
81 (cd ~/altusmetrumllc ; git push)
83 - copy the relevant release notes file from doc/ to
84 /home/bdale/web/altusmetrum/AltOS/releases/<rev>
86 - create /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>,
87 and move the MicroPeak installers from AltOS/releases to there
89 - create /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>,
90 and move the MicroPeak installers from AltOS/releases to there
92 - go edit ~/web/altusmetrum/AltOS/releases/<rev>.mdwn,
93 /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>.mdwn, and
94 /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>.mdwn
96 - make sure the Windows stuff is like 1-4-1, not 1.4.1!
98 (cd doc ; make publish)
100 this pushes fresh documents to the web site
102 sudo debian/rules clean
103 git push origin master branch-<version> debian pristine-tar
106 push commits and leave the build tree in an uncluttered state
108 Testing before a release
110 To verify that a build works, the following need to be checked
115 2) Connect TM *and* TD devices. Verify that you can Monitor
116 Flight from the TD and Configure Telemetrum from the TM.
118 3) Replay Flight, using your favorite .eeprom file. Check
119 each tab, especially the 'Site Map' tab. Make sure the
122 4) Graph Data. Graph a favorite .eeprom file. Make sure you
123 can zoom in on some region of the graph.