These are Bdale's notes on how to do a release.
- update the version in configure.ac and commit
+ git checkout master
- git tag -a <version>
+ - make sure there is a doc/release-notes-<version>.xsl
+ - make sure that doc/altusmetrum.xsl has the right copyright year,
+ and add release to the revision history at the front (release notes
+ will be pulled in automatically)
- git-buildpackage --git-ignore-new
+ - update the version in configure.ac
+ git log > ChangeLog
+ git commit -a
+ - make absolutely sure checked-out tree is "clean"
+ - if this is an x.y release, then:
+ git checkout -b branch-<version>
+ git tag -a <version>
+ - if this is an x.y.z release, then:
+ git checkout branch-<version> # the x.y parts only
+ git merge master
+ git tag -a <version> # full x.y.z version
- use --git-ignore-new so trash in checked-out tree doesn't
- cause the build to fail!
+ - edit .git/gbp.conf to use branch-<version> as upstream if needed
- at this point, we have Debian packages
+ git checkout debian
+ git merge branch-<version>
+
+ - verify debian/changelog is "clean" ending in last release version
+ - craft a suitable debian/changelog entry, possibly using:
+ git-dch --release --new-version=<version>-1 --multimaint-merge
+
+ git commit -n debian/changelog -m "update changelog for Debian build"
+
+ - if this is a -1 release, then
+ git-buildpackage --git-no-pristine-tar
+ pristine-tar commit \
+ ../build-area/altos/altos_<version>.orig.tar.gz \
+ branch-<version>
+ else if this is not a -1 release
+ git-buildpackage
+
+ git tag debian/<version>
+
+ - at this point we have packages in ~/debian/build-area/altos, now
+ we move on to the non-Debian part of the release process
make distclean
./autogen.sh --with-fat-dir=/home/bdale/web/altusmetrum/AltOS/releases
- make fat
+ make && make fat
this pushes packages for each platform to web site
+ - copy the relevant release notes file from doc/ to
+ /home/bdale/web/altusmetrum/AltOS/releases/<rev>
+
- go edit ~/web/altusmetrum/AltOS/releases/<rev>.mdwn to include
release date and explicit ref to dir contents so the AltOS page
shows versioned links, commit and push
this pushes fresh documents to the web site
sudo debian/rules clean
+ git push origin master branch-1.1 debian
+ git push --tags
- leave the build tree in an unclutterd state
+ push commits and leave the build tree in an uncluttered state
Testing before a release