Release Procedure

Name Description
BRANCH The branch on which the release is happening.
PREVIOUS The previous release's version number or the previous branch if the release is the first on that branch.
UPSTREAM The Git remote for the main InspIRCd repository.
VERSION The new release's version number.
  1. Close the release milestone on GitHub.
  2. Ensure that the branch tip builds with no warnings. Checking Travis CI is helpful as it builds with -Werror.
  3. Update the version in src/version.sh and commit it.
  4. Tag the release with git tag VERSION.
  5. Run git push UPSTREAM BRANCH and git push UPSTREAM VERSION.
  6. Add a GitHub release for the VERSION on tag.
  7. Generate a list of contributors for the news post using git log --pretty=' - %aN' PREVIOUS...VERSION | sort -fu
  8. Create a news post on the website using the list of contributors from the previous step.
  9. Mark the new news post as featured and unmark the old one.
  10. If the release is stable then update misc.currentVersion in the website config to VERSION.
  11. Update the change log on the documentation site.
  12. If the release fixes a security vulnerability then create an advisory on the documentation site.
  13. Update the topic in #InspIRCd and #InspIRCd.dev on ChatSpike.
  14. Post a link to the news post on the InspIRCd Twitter account and, if notable, on /r/irc.