Skip to content

Release Procedure

Günter Wirth edited this page Feb 20, 2023 · 13 revisions

Getting ready

When time passes and you get the feeling its time for a new release, things are usually not in the shape they should be. To actually get to the point where we can think about a release, make sure that:

  • The according milestone is ready. If necessary, exclude issues which haven't been solved in time.
  • All issues assigned to the milestone have sound names, sound labels ('bugs' are actually bugs, e.g.) are assigned to the developer who solved them (this makes sense even after the work is done, just as documentation), i.e.: are overall consistent.
  • Changes introduced by this release are documented in the Wiki. Especially:
    • All changes on configuration switches are documented.
    • A new row to the Compatibility Matrix is added.
  • Missing authors are added to to the list of developers in the pom.xml
  • Consider extending the tests, especially the integration ones, especially having the new features in mind.
  • The CI is green:
    • GitHub Actions workflow is green.
    • Additionally: make sure the integration tests do pass for all SQ versions, which are mentioned in the compatibility matrix.
  • The source code quality of the cxx plugin is acceptable.
  • The sample project still works with the latest build.
  • Make sure the cxx-sslr-toolkit works (can be started, parses complex files and doesn't throw exceptions)
  • The parent-section in the pom.xml references a recent version of the parent pom.
  • Core users did some field testing and didn't found any serious issues

Release Procedure

  • create and describe the release in GitHub, use the format of previous releases, i.e.
    • compose a list of fixed bugs
    • compose a list of enhancements
    • don't forget to thank to the contributors
  • change the cxx plugin version in the pom.xml, make sure the version string contains no 'SNAPSHOT'
  • build and attach the resulting jars to the release on GitHub
  • make a tag in git
  • change the cxx plugin version in the pom.xml to -SNAPSHOT
  • push the changes and the new tag to GitHub
  • publish the release
  • adjust the 'recent release'-Link in Readme.md
  • tweet/announce
Clone this wiki locally