From 380da6011862248ee283552a3d37c31e3d816365 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Mon, 3 Sep 2018 17:51:10 +0000 Subject: 43370: New maintainer-facing documentation. --- ChangeLog | 3 +++ Etc/creating-a-release.txt | 60 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 Etc/creating-a-release.txt diff --git a/ChangeLog b/ChangeLog index 64c7d77c9..cc65be8f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2018-09-03 Daniel Shahaf + * 43370: Etc/creating-a-release.txt: New maintainer-facing + documentation. + * unposted: Config/version.mk: Post-release version bump. * unposted: Config/version.mk: Release 5.6. diff --git a/Etc/creating-a-release.txt b/Etc/creating-a-release.txt new file mode 100644 index 000000000..5d4e1e8b2 --- /dev/null +++ b/Etc/creating-a-release.txt @@ -0,0 +1,60 @@ +To create a zsh release: + +- Be satisfied that 'master' is releaseable. + (No recent destabilizing changes, `make check` passes, etc) + +- Bump or update: + + Config/version.mk to today's date + Config/version.mk version number (sequence: 5.4.2, 5.4.2-dev-$((i++)), 5.4.2-test-$((++j)), 5.5) + Etc/FAQ.yo + README + NEWS + +- Commit those changes with an "unposted" ChangeLog entry. + + git commit -am "Test release: 5.5.1-test-1." && + zshdev-add-nnnnn-and-changelog unposted + # (Everyone has a different way of getting the "unposted" magic string + # into ChangeLog and the log message. This script is how I do it; YMMV; + # see Etc/zsh-development-guide for alternative scripts.) + +- Create signed git tag named "zsh-5.5.1-..." (not "5.5.1-...") + + git tag --sign -m "Tag version zsh-5.5.1-test-1." zsh-5.5.1-test-1 + +- If the tagged release is a stable release (as opposed to a test release): + + vi Config/version.mk # bump to 5.6-dev-0 and tomorrow's date + git commit -am "Post-release version bump." && + zshdev-add-nnnnn-and-changelog unposted + # or local equivalent (see above) + +- Create tarball: + + git checkout zsh-5.5.1-test-1 + make -C Etc + make -C Doc everything + make tarxz-doc tarxz-src + for i in zsh*.tar.?z ; do gpg -ab -- $i ; done + + # The tarxz-* targets create both *.tar.gz and *.tar.xz. + +- [one time step] Add your key to http://zsh.sf.net/Arc/source.html; see README in the 'web' repository for how to do this. Its URL is: + + git clone git://git.code.sf.net/p/zsh/web + git clone ssh://git.code.sf.net/p/zsh/web + +- Upload to sf.net + + Test releases go to the "zsh-test" directory. + Stable releases to zsh/ and zsh-doc/. + +- Upload to zsh.org + +- Post to -workers@ + +- After a day or so post to: + + -users@, if test release; + -announce@, if stable release. -- cgit 1.4.1