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 --enable-multi-arch \
65 --with-fat-dir=/home/bdale/web/altusmetrum/AltOS/releases
68 this pushes packages for each platform to web site
70 # store a stable copy of ARM binaries for production use
71 cp src/easymega-v1.0/*.elf \
72 src/easymini-v1.0/*.elf \
73 src/telegps-v1.0/*.elf \
74 src/telemega-v1.0/*.elf \
75 src/telemetrum-v2.0/*.elf \
76 ~/altusmetrumllc/Binaries/
77 cp src/easymega-v1.0/flash-loader/*.elf \
78 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)
84 (cd ~/altusmetrumllc ; git push)
86 - copy the relevant release notes file from doc/ to
87 /home/bdale/web/altusmetrum/AltOS/releases/<rev>
89 - create /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>,
90 and move the MicroPeak installers from AltOS/releases to there
92 - create /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>,
93 and move the TeleGPS installers from AltOS/releases to there
95 - go edit ~/web/altusmetrum/AltOS/releases/<rev>.mdwn,
96 /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>.mdwn, and
97 /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>.mdwn
99 - make sure the Windows stuff is like 1-4-1, not 1.4.1!
101 (cd doc ; make publish)
103 this pushes fresh documents to the web site
105 sudo debian/rules clean
106 git push origin master branch-<version> debian pristine-tar
109 push commits and leave the build tree in an uncluttered state
111 Testing before a release
113 To verify that a build works, the following need to be checked
118 2) Connect TM *and* TD devices. Verify that you can Monitor
119 Flight from the TD and Configure Telemetrum from the TM.
121 3) Replay Flight, using your favorite .eeprom file. Check
122 each tab, especially the 'Site Map' tab. Make sure the
125 4) Graph Data. Graph a favorite .eeprom file. Make sure you
126 can zoom in on some region of the graph.