Speech history plugin added. Code and documentation audit completed. Preparing for tagged release.
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user