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 - update the version in configure.ac if Keith hasn't already
10 - make sure the Google Maps API key is in the build chroot and root
11 sudo mkdir -p /var/cache/pbuilder/base.cow/opt/google /opt/google
12 sudo cp ~/altusmetrumllc/google-maps-api-key \
13 /var/cache/pbuilder/base.cow/opt/google/maps-api-key
14 sudo ln -sf /home/bdale/altusmetrumllc/google-maps-api-key \
15 /opt/google/maps-api-key
17 - if this is an x.y release, then:
18 git checkout -b branch-<version>
20 - if this is an x.y.z release, then:
21 git checkout branch-<version> # the x.y parts only
22 - cherry-pick or merge appropriate content from master
24 - make sure there is a doc/release-notes-<version>.inc
25 - make sure that doc/altusmetrum-docinfo.xml has the right copyright
26 year, and add release to the revision history at the front (release
27 notes 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 gbp 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 gbp 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 gbp 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/telebt-v3.0/*.elf \
74 src/teledongle-v3.0/*.elf \
75 src/telegps-v1.0/*.elf \
76 src/telemega-v1.0/*.elf \
77 src/telemega-v2.0/*.elf \
78 src/telemetrum-v2.0/*.elf \
79 ~/altusmetrumllc/Binaries/
80 cp src/easymega-v1.0/flash-loader/*.elf \
81 src/easymini-v1.0/flash-loader/*.elf \
82 src/telebt-v3.0/flash-loader/*.elf \
83 src/teledongle-v3.0/flash-loader/*.elf \
84 src/telegps-v1.0/flash-loader/*.elf \
85 src/telemega-v1.0/flash-loader/*.elf \
86 src/telemega-v2.0/flash-loader/*.elf \
87 src/telemetrum-v2.0/flash-loader/*.elf \
88 ~/altusmetrumllc/Binaries/loaders/
89 (cd ~/altusmetrumllc ; git add Binaries ; git commit -a)
90 (cd ~/altusmetrumllc ; git push)
92 - copy the relevant release notes .html file from doc/ to
93 /home/bdale/web/altusmetrum/AltOS/releases/<rev>
95 (cd ~/web/altusmetrum/AltOS/releases/<rev> ; rm *.tar.bz2)
97 - create /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>,
98 and move the MicroPeak installers from AltOS/releases to there
100 - create /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>,
101 and move the TeleGPS installers from AltOS/releases to there
103 - go edit ~/web/altusmetrum/AltOS/releases/<rev>.mdwn,
104 /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>.mdwn, and
105 /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>.mdwn
107 - make sure the Windows stuff is like 1-4-1, not 1.4.1!
109 (cd doc ; make publish)
111 this pushes fresh documents to the web site
113 sudo debian/rules clean
114 git push origin master branch-<version> debian pristine-tar
117 push commits and leave the build tree in an uncluttered state
119 Testing before a release
121 To verify that a build works, the following need to be checked
126 2) Connect TM *and* TD devices. Verify that you can Monitor
127 Flight from the TD and Configure Telemetrum from the TM.
129 3) Replay Flight, using your favorite .eeprom file. Check
130 each tab, especially the 'Site Map' tab. Make sure the
133 4) Graph Data. Graph a favorite .eeprom file. Make sure you
134 can zoom in on some region of the graph.