Making Release
This guide is partly outdated.
Release numbering
- 1.x
- Feature release.
- 1.x.y
- Bugfix release.
Feature Releases
- Update the
CMake
build environment.- Test it (using
CMake v2.6
)- with both Visual Studio .NET 2005 and 2007,
- both from the IDE and using nmake,
- test creating an installer,
- with linux (using gcc-4.x).
- with both Visual Studio .NET 2005 and 2007,
- Test it (using
- Check the repository thoroughly,
- Be sure there is no globally installed version of LEMON on the computer where the tests are made.
- Run
make distcheck
. - Do
make check
- using gcc version 3.3, 3.4, 4.0, 4.1, 4.2, 4.3 -- no warning is allowed with these versions,
- using icc 10.1,
- both on 32 bit and 64 bit architectures,
- on Cygwin,
- on OSX.
- Create a named branch for each new feature release. The name is just the release number like 1.0.
- Then comes some commits (out of the default branch) preparing the repository for the release.
- Update the AUTHORS and the NEWS files in the default branch, then merge these changesets into the release branch.
- Remove all unfinished stuff (e.g. from the documentation).
- Do a complete reconfiguration with given version like this:
LEMON_VERSION=1.0 autoreconf -vif ./configure --enable-demo
- Run
make update-external-tags
to get doxygen reference to STL. - Run
make distcheck
.- This does a very last check and creates the tarball.
- Create the Windows installer.
- Tag the released version x.y with rx.y.
Bugfix Changesets
- Do the bugfix on the top of the common ancestor changeset of all branches where the bug appears. This changeset can be found with the
debuganchestor
command like this.hg debugancestor default 1.0
- Then merge them individually to all branches where it applies.
- Important: Update to the branch head first, then merge to the bugfix changeset, otherwise the the merge commit will not belong to the branch.
hg up -C 1.0 hg merge -r 1234 hg ci -m 'Merge to 1.0'
- Important: Update to the branch head first, then merge to the bugfix changeset, otherwise the the merge commit will not belong to the branch.
Bugfix Releases
- A bugfix release is situated in the same branch as its mother feature release.
- Check the repository thoroughly
- like in case of a feature release.
- Adjust the release number in
configure.ac
.- Don't forget to commit this change.
- Create the tarball and the Windows installer.
- Tag the released version x.y.z with rx.y.z.
Last modified 13 years ago
Last modified on 02/25/12 07:25:23