1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-06-09 21:30:42 +00:00
profanity/RELEASE_GUIDE.md
2022-02-22 16:12:10 +01:00

2.2 KiB

Release Guide

Usually release candidates are tagged 0.6.0.rc1, 0.6.0.rc2 and tested for a week or so.

  • Release libstrophe and libmesode if required

  • Run Unit tests: make check-unit

  • Run Functional tests - Currently disabled

  • Run manual valgrind tests for new features

  • Build and simple tests in Virtual machines ideally all dists including OSX and Windows (Cygwin)

  • Update Inline command help (./src/command/cmd_defs.c)

  • Check copyright dates in all files (Copywright 2012-2019)

  • Generate HTML docs (the docgen argument only works when package status is development) ./profanity docgen

  • Generate manpages for profanity commands (the mangen argument only works when package status is development) ./profanity mangen These files should be added to the docs subfolder and added to git whenever a command changes.

  • Determine if libprofanitys version needs to be increased

  • Update plugin API docs (./apidocs/c and ./apidocs/python) need to run the gen.sh and commit the results to the website git repo

  • Update CHANGELOG

  • Update profrc.example

  • Update profanity.doap (new XEPs and latest version)

Creating artefacts

  • Set the correct release version in configure.ac:
AC_INIT([profanity], [0.6.0], [boothj5web@gmail.com])
  • Set the package status in configure.ac:
PACKAGE_STATUS="release"
  • Add generated command manpages: git add docs/profanity-*.1

  • Commit

  • Tag (0.6.0)

  • Push

  • Configure to generate fresh Makefile:

./bootstrap.sh && ./configure
  • Generate tarballs:
make dist
make dist-bzip2
make dist-xz
make dist-zip
  • Set version to next release:
AC_INIT([profanity], [0.7.0], [boothj5web@gmail.com])
  • Set the package status back to dev:
PACKAGE_STATUS="development"
  • Remove generated command manpages: git rm docs/profanity-*.1

  • Create a branch for patch releases (0.6.patch)

  • Push

Updating website