1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-10-27 20:30:13 -04:00
profanity/RELEASE_GUIDE.md
2023-08-04 08:37:54 +02:00

2.4 KiB

Release Guide

  • Release libstrophe 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

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

  • 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). Look for DEV which marks what is done on the development branch.

  • Add new release to profanity.doap

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"
  • Update date and version in man pages

  • 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.

  • Add generated command manpages: git add docs/profanity-*.1

  • Commit

  • Tag (0.1.2)

  • Push

  • Configure to generate fresh Makefile:

./bootstrap.sh && ./configure
  • Generate tarballs:
make dist
make dist-bzip2
make dist-xz
make dist-zip
  • Set the package status back to dev:
PACKAGE_STATUS="development"
  • Remove generated command manpages: git rm docs/profanity-*.1 git checkout HEAD -- docs/profanity-ox-setup.1 docs/profanity.1 and docs/profanity-ox-setup.1 are handwritten.

  • Commit Start new cycle

  • Push

Updating website

  • Make changes to the git repo including uploading the new artefacts at: https://github.com/profanity-im/profanity-im.github.io
  • Add .xz and .zip tarballs to tarballs directory
  • Copy guide/latest to guide/newversion
  • Update tarball location and name in index.html
  • Update checksums in index.html
  • Update profanity_version.txt
  • Take results from profanity.doap and put them into xeps.html