Speech history plugin added. Code and documentation audit completed. Preparing for tagged release.

This commit is contained in:
Storm Dragon
2025-12-22 19:43:41 -05:00
parent 10b3592173
commit 200faa9e36
19 changed files with 773 additions and 367 deletions

View File

@@ -1,84 +1,55 @@
This document provides a step-by-step list to remind Cthulhu
maintainers how to make a release.
This document provides a step-by-step reminder for making a Cthulhu release.
The general instructions for a release are here:
PREPARE SOURCES:
----------------
https://wiki.gnome.org/MaintainersCorner/Releasing
See also:
https://discourse.gnome.org/t/new-gnome-versioning-scheme/4235
Here's a summary for Cthulhu:
PREPARE SOURCES FOR THE RELEASE:
-------------------------------
Make sure you are up to date:
Make sure you are up to date and clean:
git pull
git status
Update ./NEWS with changes from the last tagged release. You can use
commands like the following:
Decide the release version:
Detailed commits since the CTHULHU_40_BETA tag:
- Update the version in `meson.build`
- Update the version in `src/cthulhu/cthulhuVersion.py`
git log CTHULHU_40_BETA..
Update release notes:
Short list of translation changes with author names and files:
git log CTHULHU_40_BETA.. --grep translation --pretty=format:"%s - %an" --name-only
Quick-and-dirty formatted list of translation changes:
git log CTHULHU_40_BETA.. --grep translation --pretty=format:"%s,%an" --name-only |
awk -F/ '/\.(po|am)/ {gsub("(\.po|Makefile.am)", "", $NF); printf(",%s",$NF); next;}
{gsub("(Updated* |Add(ed)* | translation| help)", "", $0); printf("\n%s",$0);}' |
awk -F, '!seen[$0]++ {if (NF == 3) printf(" %-15s %-25s %s\n", $3, $1, $2);}' |
sort
Short list of non-translation commits:
git log CTHULHU_40_BETA.. --grep translation --invert-grep --pretty=format:" * %s%n"
NOTE: You should also make sure the external dependencies listed in
configure.ac and README are accurate.
- Update `NEWS` (or your preferred changelog location) with user-visible changes.
BUILD THE RELEASE:
-----------------
BUILD + SANITY CHECK:
---------------------
./autogen.sh --prefix=`pwd`/bld && make && make install && make distcheck
Build with Meson:
COMMIT RELEASE CHANGES AND TAG THE RELEASE:
-------------------------------------------
meson setup _build_release --prefix=/usr --buildtype=release
meson compile -C _build_release
git commit -a
git push
git tag -a -s CTHULHU_40_RC
git push origin CTHULHU_40_RC
Optional sanity checks:
python3 -m compileall -q src/cthulhu
meson test -C _build_release # may be empty
Create a source tarball:
meson dist -C _build_release
UPLOAD THE RELEASE:
------------------
TAG + PUSH:
-----------
scp cthulhu-40.rc.tar.xz yourusername@master.gnome.org:
ssh master.gnome.org
ftpadmin install cthulhu-40.rc.tar.xz
Commit release changes, tag, and push:
git commit -a
git push
git tag -a v<version>
git push origin v<version>
BUMP THE VERSION:
-----------------
PACKAGING NOTES:
----------------
Modify this line in ./configure.ac:
m4_define([cthulhu_version], [40.rc])
The major version (40) increments by 1 each new GNOME release cycle.
The minor version proceeds as follows: alpha, beta, rc, 0, 1, 2, 3, etc.
Modify ./README.md to make sure it has the right Cthulhu version.
git commit -a
git push
Arch packaging lives in `distro-packages/Arch-Linux/PKGBUILD`.
If the package version is derived from `src/cthulhu/cthulhuVersion.py`,
ensure that file matches the release version.