Skip to content
Tom Herbers edited this page Sep 30, 2023 · 10 revisions

Release Process

This document describes the steps that were done when v2018.1.2 was released.

Target Branch

The target branch can be master for a major release, or a stable branch for minor releases. Major versions are always tagged on the master branch before forking, so git describe returns useful version identifiers.

  1. Create a branch off the to be released branch:
    • Major release: git checkout -b release/v2021.1 master
    • Minor release: git checkout -b release-notes/v2018.1.2 v2018.1.x
  2. Create release notes at docs/releases/<tag>.rst
    • $EDITOR docs/releases/v2018.1.2.rst
  3. Reference the new release notes in docs/index.rst
    • $EDITOR docs/index.rst
  4. Commit and Push
    • git commit -S -m "docs: Add v2018.1.2 release notes"
    • git push
  5. Create Pull Request against the target branch and make changes addressing issues mentioned
    • $EDITOR docs/releases/v2018.1.2.rst
    • $EDITOR docs/releases/index.rst
    • git commit --amend
    • git push --force
  6. Update references to the latest version in
    • README.md
    • contrib/ci/minimal-site/site.conf
    • contrib/ci/olsr-site/site.conf
    • docs/conf.py
    • docs/site-example/site.conf
    • docs/user/getting_started.rst
  7. Verify & Commit
    • make lint (until the last supported release without lint-editorconfig (2022.1.x) is not anymore.)
    • git commit -S -m "docs, README: Gluon v2018.1.2"
    • git push
  8. Merge Pull Request into target branch
  9. Create and push a signed tag
    • git checkout v2018.1.x
    • git pull
    • git tag -s v2018.1.2 -m "Gluon v2018.1.2"
    • git push origin v2018.1.2
  10. Create a stable branch (major releases only)
  11. Create a release over on Github

Master Branch

If the release was a minor one, then the latest documentation and version references need to be forward-ported to the master branch, so that they appear on GitHub and in the documentation on https://gluon.readthedocs.org.

  1. Switch to master branch
    • git checkout master
    • git pull
  2. Cherry pick the first commit to your local master branch
  3. Update version references in
    • README.md
    • docs/user/getting_started.rst
  4. Squash changes into the cherry-picked commit
    • git commit --amend -S
  5. Push to master branch

Publish announcements

  1. Write a signed announce mail (you need to be subscribed to these lists in order not to have the mail bounced)
  2. Change Topic of #gluon on hackint.org
Clone this wiki locally