Preparing a Release
Major releases
For a new major release (e.g. 10.0):
- Create a release branch from develop . The branch should be named release-10.0 .
- Update the version number in
AC_INIT
in configure.ac and push the changes to the git repository. - The buildbot will automatically create from the release branch a tarball http://octopus-code.org/down.php?file=release-10.0/octopus-10.0.tar.gz, the variable documentation, and the doxygen documentation https://octopus-code.org/doc/release-10.0/doxygen_doc/index.html.
- Distribute the tarball among the developers for testing and correct any problems encountered.
- Update the PACKAGING file. (This requires to update the periodic_systems/09-etsf_io.test)
- Update the debian/changelog file.
- Once everybody is happy with the tarball, merge the release branch into the master branch.
- Add a new tag on Gitlab:
- Create the new tag from the master branch.
- Tag should be named 10.0.
- Add a link to Octopus 10 in the release notes.
- The buildbot will automatically create from the tag a tarball (http://octopus-code.org/down.php?file=10.0/octopus-10.0.tar.gz), the variable documentation (http://octopus-code.org/doc/10.0/html/vars.php), and the doxygen documentation (http://octopus-code.org/doc/10.0/doxygen_doc/index.html).
- Merge the release branch into develop . This might require to resolve some conflicts, as the develop branch might have diverged.
- Update the codename for the development version in AC_INIT in configure.ac on the develop branch and on the FAQ page.
- Update the data/releases.json file in the Octopus documentation git
- Update the default/content/Releases/Changes.md file (), referring to the merge requests on Gitlab.
- Send an email announcement. <!—Sample e-mail below.—>
- Post it on the Octopus Facebook page! https://www.facebook.com/octopus.code
- Check and update Manual and Tutorials. (this takes time, it is better to do it after the rest of the release)
Minor releases
For a new minor release (e.g. 10.1):
- Create a hotfix branch from master . The branch should be named hotfix-10.1 .
- Create a merge request on Gitlab having the hotfix branch as source and the master branch as target.
- Once all the bug fixes have been merged into the hotfix branch, update the version number in
AC_INIT
in configure.ac . - Update the PACKAGING file.
- Update the debian/changelog file.
- Merge the hotfix branch into master .
- Add a new tag on Gitlab:
- Create the new tag from the master branch.
- Tag should be named 10.1.
- The buildbot will automatically create from the tag a tarball (http://octopus-code.org/down.php?file=10.1/octopus-10.1.tar.gz), and the variable documentation (http://octopus-code.org/doc/10.1/html/vars.php).
- Create a new merge request on Gitlab having the hotfix branch as source and the develop branch as target.
- Merge the hotfix branch into develop . There should be a conflict in the configure.ac file, because of the changed version number. Keep the one coming from develop . Other conflicts might occur.
- Update the data/releases.json file in the Octopus documentation git
- Update the default/content/Releases/Changes.md file (), referring to the merge requests on Gitlab.