1 Adding a product to the release
3 Make sure the firmware and loader get built by default in
6 Add the firmware to altosui/Makefile.am
8 Add the firmware to altosui/altos-windows.nsi.in
10 These are Bdale's notes on how to do a release.
12 - make sure build environment is up to date
13 sudo cowbuilder --update
17 - update the version in configure.ac if Keith hasn't already
19 - make sure the Google Maps API key is in the build chroot and root
20 (cd ~/altusmetrumllc; git pull)
21 sudo mkdir -p /var/cache/pbuilder/base.cow/opt/google /opt/google
22 sudo cp ~/altusmetrumllc/google-maps-api-key \
23 /var/cache/pbuilder/base.cow/opt/google/maps-api-key
24 sudo ln -sf /home/bdale/altusmetrumllc/google-maps-api-key \
25 /opt/google/maps-api-key
27 - if this is an x.y release, then:
28 git checkout -b branch-<version>
30 - if this is an x.y.z release, then:
31 git checkout branch-<version> # the x.y parts only
32 - cherry-pick or merge appropriate content from master
34 - make sure there is a doc/release-notes-<version>.inc
35 - make sure that doc/altusmetrum-docinfo.xml has the right copyright
36 year, and add release to the revision history at the front (release
37 notes will be pulled in automatically)
38 - make absolutely sure checked-out tree is "clean"
39 - make absolutely sure the pdclib/ submodule is on the master branch,
40 up to date, and "clean"
44 git tag -a <version> # full x.y.z version
46 - make sure .git/gbp.conf set to use branch-<version> as upstream
49 git merge branch-<version>
51 - verify debian/changelog is "clean" ending in last release version
52 - craft a suitable debian/changelog entry, possibly using:
53 gbp dch --release --multimaint-merge --new-version=<version>-1
55 git commit -n debian/changelog -m "update changelog for Debian build"
57 - if this is a -1 release, then
58 gbp buildpackage --git-no-pristine-tar --git-submodules \
59 --git-upstream-branch=branch-<version> \ # eg 1.3
60 --git-upstream-tag=<version> # eg 1.3.1
62 ../build-area/altos_<version>.orig.tar.gz \
64 else if this is not a -1 release
65 gbp buildpackage --git-submodules
67 git tag debian/<version>
69 - at this point we have packages in ~/debian/build-area/altos, now
70 we move on to the non-Debian part of the release process
74 ./autogen.sh --enable-multi-arch \
75 --with-fat-dir=/home/bdale/web/altusmetrum/AltOS/releases
78 this pushes packages for each platform to web site
80 # store a stable copy of ARM binaries for production use
81 cp src/chaoskey-v1.0/{*.elf,*.ihx} \
82 src/easymega-v1.0/{*.elf,*.ihx} \
83 src/easymini-v1.0/{*.elf,*.ihx} \
84 src/easymini-v2.0/{*.elf,*.ihx} \
85 src/telebt-v3.0/{*.elf,*.ihx} \
86 src/teledongle-v3.0/{*.elf,*.ihx} \
87 src/telegps-v1.0/{*.elf,*.ihx} \
88 src/telemega-v1.0/{*.elf,*.ihx} \
89 src/telemega-v2.0/{*.elf,*.ihx} \
90 src/telemetrum-v2.0/{*.elf,*.ihx} \
91 src/telemini-v3.0/{*.elf,*.ihx} \
92 ~/altusmetrumllc/Binaries/
93 cp src/chaoskey-v1.0/flash-loader/{*.elf,*.bin} \
94 src/easymega-v1.0/flash-loader/*.elf \
95 src/easymini-v1.0/flash-loader/*.elf \
96 src/easymini-v2.0/flash-loader/{*.elf,*.bin} \
97 src/telebt-v3.0/flash-loader/*.elf \
98 src/teledongle-v3.0/flash-loader/*.elf \
99 src/telegps-v1.0/flash-loader/*.elf \
100 src/telemega-v1.0/flash-loader/*.elf \
101 src/telemega-v2.0/flash-loader/*.elf \
102 src/telemetrum-v2.0/flash-loader/*.elf \
103 src/telemini-v3.0/flash-loader/{*.elf,*.bin} \
104 ~/altusmetrumllc/Binaries/loaders/
105 (cd ~/altusmetrumllc ; git add Binaries ; git commit -a)
106 (cd ~/altusmetrumllc ; git push)
108 - copy the relevant release notes .html file from doc/ to
109 /home/bdale/web/altusmetrum/AltOS/releases/<rev>
111 (cd ~/web/altusmetrum/AltOS/releases/<rev> ; rm *.tar.bz2)
113 - create /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>,
114 and move the MicroPeak installers from AltOS/releases to there
116 - create /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>,
117 and move the TeleGPS installers from AltOS/releases to there
119 - go edit ~/web/altusmetrum/AltOS/releases/<rev>.mdwn,
120 /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>.mdwn, and
121 /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>.mdwn
123 - make sure the Windows stuff is like 1-4-1, not 1.4.1!
125 (cd doc ; make publish)
127 this pushes fresh documents to the web site
129 sudo debian/rules clean
130 git push origin master branch-<version> debian pristine-tar
133 push commits and leave the build tree in an uncluttered state
135 Testing before a release
137 To verify that a build works, the following need to be checked
142 2) Connect TM *and* TD devices. Verify that you can Monitor
143 Flight from the TD and Configure Telemetrum from the TM.
145 3) Replay Flight, using your favorite .eeprom file. Check
146 each tab, especially the 'Site Map' tab. Make sure the
149 4) Graph Data. Graph a favorite .eeprom file. Make sure you
150 can zoom in on some region of the graph.