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 (cd ~/altusmetrumllc; git pull)
12 sudo mkdir -p /var/cache/pbuilder/base.cow/opt/google /opt/google
13 sudo cp ~/altusmetrumllc/google-maps-api-key \
14 /var/cache/pbuilder/base.cow/opt/google/maps-api-key
15 sudo ln -sf /home/bdale/altusmetrumllc/google-maps-api-key \
16 /opt/google/maps-api-key
18 - if this is an x.y release, then:
19 git checkout -b branch-<version>
21 - if this is an x.y.z release, then:
22 git checkout branch-<version> # the x.y parts only
23 - cherry-pick or merge appropriate content from master
25 - make sure there is a doc/release-notes-<version>.inc
26 - make sure that doc/altusmetrum-docinfo.xml has the right copyright
27 year, and add release to the revision history at the front (release
28 notes will be pulled in automatically)
29 - make absolutely sure checked-out tree is "clean"
30 - make absolutely sure the pdclib/ submodule is on the master branch,
31 up to date, and "clean"
35 git tag -a <version> # full x.y.z version
37 - make sure .git/gbp.conf set to use branch-<version> as upstream
40 git merge branch-<version>
42 - verify debian/changelog is "clean" ending in last release version
43 - craft a suitable debian/changelog entry, possibly using:
44 gbp dch --release --multimaint-merge --new-version=<version>-1
46 git commit -n debian/changelog -m "update changelog for Debian build"
48 - if this is a -1 release, then
49 gbp buildpackage --git-no-pristine-tar --git-submodules \
50 --git-upstream-branch=branch-<version> \ # eg 1.3
51 --git-upstream-tag=<version> # eg 1.3.1
53 ../build-area/altos_<version>.orig.tar.gz \
55 else if this is not a -1 release
56 gbp buildpackage --git-submodules
58 git tag debian/<version>
60 - at this point we have packages in ~/debian/build-area/altos, now
61 we move on to the non-Debian part of the release process
65 ./autogen.sh --enable-multi-arch \
66 --with-fat-dir=/home/bdale/web/altusmetrum/AltOS/releases
69 this pushes packages for each platform to web site
71 # store a stable copy of ARM binaries for production use
72 cp src/easymega-v1.0/*.elf \
73 src/easymini-v1.0/*.elf \
74 src/telebt-v3.0/*.elf \
75 src/teledongle-v3.0/*.elf \
76 src/telegps-v1.0/*.elf \
77 src/telemega-v1.0/*.elf \
78 src/telemega-v2.0/*.elf \
79 src/telemetrum-v2.0/*.elf \
80 src/telemini-v3.0/*.elf \
81 ~/altusmetrumllc/Binaries/
82 cp src/easymega-v1.0/flash-loader/*.elf \
83 src/easymini-v1.0/flash-loader/*.elf \
84 src/telebt-v3.0/flash-loader/*.elf \
85 src/teledongle-v3.0/flash-loader/*.elf \
86 src/telegps-v1.0/flash-loader/*.elf \
87 src/telemega-v1.0/flash-loader/*.elf \
88 src/telemega-v2.0/flash-loader/*.elf \
89 src/telemetrum-v2.0/flash-loader/*.elf \
90 src/telemini-v3.0/flash-loader/*.elf \
91 ~/altusmetrumllc/Binaries/loaders/
92 (cd ~/altusmetrumllc ; git add Binaries ; git commit -a)
93 (cd ~/altusmetrumllc ; git push)
95 - copy the relevant release notes .html file from doc/ to
96 /home/bdale/web/altusmetrum/AltOS/releases/<rev>
98 (cd ~/web/altusmetrum/AltOS/releases/<rev> ; rm *.tar.bz2)
100 - create /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>,
101 and move the MicroPeak installers from AltOS/releases to there
103 - create /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>,
104 and move the TeleGPS installers from AltOS/releases to there
106 - go edit ~/web/altusmetrum/AltOS/releases/<rev>.mdwn,
107 /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>.mdwn, and
108 /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>.mdwn
110 - make sure the Windows stuff is like 1-4-1, not 1.4.1!
112 (cd doc ; make publish)
114 this pushes fresh documents to the web site
116 sudo debian/rules clean
117 git push origin master branch-<version> debian pristine-tar
120 push commits and leave the build tree in an uncluttered state
122 Testing before a release
124 To verify that a build works, the following need to be checked
129 2) Connect TM *and* TD devices. Verify that you can Monitor
130 Flight from the TD and Configure Telemetrum from the TM.
132 3) Replay Flight, using your favorite .eeprom file. Check
133 each tab, especially the 'Site Map' tab. Make sure the
136 4) Graph Data. Graph a favorite .eeprom file. Make sure you
137 can zoom in on some region of the graph.