From 5e8987274f407950cf34fd1f3b95d9647b1c7baf Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 27 Mar 2026 08:33:20 +0100 Subject: [PATCH] chore: Update RELEASE_GUIDE.md Signed-off-by: Michael Vetter --- RELEASE_GUIDE.md | 73 ++++++++++++++++++------------------------------ 1 file changed, 27 insertions(+), 46 deletions(-) diff --git a/RELEASE_GUIDE.md b/RELEASE_GUIDE.md index 034da348..1cbd09fc 100644 --- a/RELEASE_GUIDE.md +++ b/RELEASE_GUIDE.md @@ -2,64 +2,45 @@ * 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) +* Set the correct release version in meson.build and configure.ac + +* Run Unit tests: `meson setup build_test -Dtests=true && meson test -C build_test` +* Run Functional tests: same as above but needs stabber installed -* Update Inline command help (./src/command/cmd_defs.c) * Check copyright dates in all files +* Create clean build folder: + `meson setup build_deb --buildtype=debug -Dnotifications=enabled -Dicons-and-clipboard=enabled -Dotr=enabled -Dpgp=enabled -Domemo=enabled -Dc-plugins=enabled -Dpython-plugins=enabled -Dxscreensaver=enabled -Domemo-qrcode=enabled -Dgdk-pixbuf=enabled` + +* Build profanity: `meson compile -C build_deb` + * Generate HTML docs (the docgen argument only works when package status is development) - `./profanity docgen` + `./build_deb/profanity docgen` + +* Generate manpages (the mangen argument only works when package status is development) + `./build_deb/profanity mangen` * Determine if libprofanitys version needs to be [increased](https://github.com/profanity-im/profanity/issues/973) * 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 CHANGELOG (Use scripts/changelog-helper.py) * 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: +* Set the package status to release: `meson setup build_rel --buildtype=release` and in configure.ac ``` PACKAGE_STATUS="release" ``` * Update date and version in man pages (profanity.1, profanity-ox-setup.1) -* 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 +* Commit (Release 0.1.2) * 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: +* Generate tarballs: `meson dist -C build_rel --formats xztar,zip` +* Set the package status for autotools back to dev: ``` PACKAGE_STATUS="development" ``` @@ -73,12 +54,12 @@ PACKAGE_STATUS="development" * 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 generated main_fragment.html and toc_fragment.html to `guide/latest` - * 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 +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 generated main_fragment.html and toc_fragment.html to `guide/latest` +* Copy `guide/latest` to `guide/newversion` +* Tarball location, name, checksum in index.html will be updated automatically during `make` / GH Action +* Update profanity_version.txt +* Take results from profanity.doap and put them into xeps.html