GNU Radio Manual and C++ API Reference  3.10.9.1
The Free & Open Software Radio Ecosystem
Release Process Documentation

Preparation

  • make sure a clean build works
  • Check whether all significant changes are in CHANGELOG
  • List of contributors git log --format="* %aN <%aE>" vLASTRELEASE..HEAD | sort -u > /tmp/authors.txt
  • Check for ABI / API break, determine Version (MAJOR.MINOR.ABI.PATCH)
  • Change [unreleased] to [MAJOR.MINOR.ABI.PATCH] in CHANGELOG
  • Update version in CMakeList
  • Commit with message: `git commit -m "Release MAJOR.MINOR.ABI.PATCH" CMakeLists.txt CHANGELOG.md
  • prepare release statement / tag annotation file: copy last Tag's annotation format (basically, contributors top, new Changelog bottom

Tagging

  • git tag --annotate --sign -F /path/to/release_statement.md vMAJOR.MINOR.ABI.PATCH
  • git push yourrepo vMAJOR.MINOR.ABI.PATCH && hub pull-request -b {master|maint-MAJOR.MINOR}
  • let CI do its thing; if that's OK:
  • git push origin {master|maint-MAJOR.MINOR} vMAJOR.MINOR.ABI.PATCH
  • on github, mark release

Of Archives

  • git checkout vMAJOR.MINOR.ABI.PATCH; git submodule update should be clean
  • gnuradio/dtools/bin/roll-tarball.sh