| Version 18 (modified by , 14 years ago) (diff) |
|---|
Making Release
This guide is partly outdated.
Release numbering
- 1.x
- Feature release.
- 1.x.y
- Bugfix release.
Feature Releases
- Update the
CMakebuild 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-tagsto 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
debuganchestorcommand 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.

