cthulhu/RELEASE-HOWTO

85 lines
2.1 KiB
Plaintext

This document provides a step-by-step list to remind Cthulhu
maintainers how to make a release.
The general instructions for a release are here:
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:
git pull
git status
Update ./NEWS with changes from the last tagged release. You can use
commands like the following:
Detailed commits since the CTHULHU_40_BETA tag:
git log CTHULHU_40_BETA..
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.
BUILD THE RELEASE:
-----------------
./autogen.sh --prefix=`pwd`/bld && make && make install && make distcheck
COMMIT RELEASE CHANGES AND TAG THE RELEASE:
-------------------------------------------
git commit -a
git push
git tag -a -s CTHULHU_40_RC
git push origin CTHULHU_40_RC
UPLOAD THE RELEASE:
------------------
scp cthulhu-40.rc.tar.xz yourusername@master.gnome.org:
ssh master.gnome.org
ftpadmin install cthulhu-40.rc.tar.xz
BUMP THE VERSION:
-----------------
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