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 ~/altusmetrumllc/Binaries/
81 cp src/easymega-v1.0/flash-loader/*.elf \
82 src/easymini-v1.0/flash-loader/*.elf \
83 src/telebt-v3.0/flash-loader/*.elf \
84 src/teledongle-v3.0/flash-loader/*.elf \
85 src/telegps-v1.0/flash-loader/*.elf \
86 src/telemega-v1.0/flash-loader/*.elf \
87 src/telemega-v2.0/flash-loader/*.elf \
88 src/telemetrum-v2.0/flash-loader/*.elf \
89 ~/altusmetrumllc/Binaries/loaders/
90 (cd ~/altusmetrumllc ; git add Binaries ; git commit -a)
91 (cd ~/altusmetrumllc ; git push)
93 - copy the relevant release notes .html file from doc/ to
94 /home/bdale/web/altusmetrum/AltOS/releases/<rev>
96 (cd ~/web/altusmetrum/AltOS/releases/<rev> ; rm *.tar.bz2)
98 - create /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>,
99 and move the MicroPeak installers from AltOS/releases to there
101 - create /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>,
102 and move the TeleGPS installers from AltOS/releases to there
104 - go edit ~/web/altusmetrum/AltOS/releases/<rev>.mdwn,
105 /home/bdale/web/altusmetrum/MicroPeak/releases/<rev>.mdwn, and
106 /home/bdale/web/altusmetrum/TeleGPS/releases/<rev>.mdwn
108 - make sure the Windows stuff is like 1-4-1, not 1.4.1!
110 (cd doc ; make publish)
112 this pushes fresh documents to the web site
114 sudo debian/rules clean
115 git push origin master branch-<version> debian pristine-tar
118 push commits and leave the build tree in an uncluttered state
120 Testing before a release
122 To verify that a build works, the following need to be checked
127 2) Connect TM *and* TD devices. Verify that you can Monitor
128 Flight from the TD and Configure Telemetrum from the TM.
130 3) Replay Flight, using your favorite .eeprom file. Check
131 each tab, especially the 'Site Map' tab. Make sure the
134 4) Graph Data. Graph a favorite .eeprom file. Make sure you
135 can zoom in on some region of the graph.