summary refs log tree commit diff
diff options
context:
space:
mode:
authordana <dana@dana.is>2019-12-21 20:52:57 -0600
committerdana <dana@dana.is>2019-12-21 20:52:57 -0600
commit90668d8f56d2aed5d38db57ccfbb028999f0aaae (patch)
treecf267d4c1db0884e78d1184c55412be8aa8a5fab
parent26ec82730d6254c9a7aad79dc888bec91e2c72e2 (diff)
downloadzsh-90668d8f56d2aed5d38db57ccfbb028999f0aaae.tar.gz
zsh-90668d8f56d2aed5d38db57ccfbb028999f0aaae.tar.xz
zsh-90668d8f56d2aed5d38db57ccfbb028999f0aaae.zip
45101: Document new dev/test versioning scheme, clarify other release steps
Also clarified the purpose of dev/test releases as suggested in workers/45104.

Note that the old versioning scheme remains in effect until after 5.8 final
has been released.
-rw-r--r--ChangeLog6
-rw-r--r--Etc/creating-a-release.txt39
2 files changed, 36 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 15b4cad52..8f5eb880a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2019-12-21  dana  <dana@dana.is>
+
+	* 45101 (tweaked per 45104): Etc/creating-a-release.txt:
+	Document new dev/test versioning scheme, clarify other release
+	steps. New versioning scheme not to be used until after 5.8
+
 2019-12-21  Daniel Shahaf  <danielsh@apache.org>
 
 	* unposted: Test/A01grammar.ztst: Group related tests.
diff --git a/Etc/creating-a-release.txt b/Etc/creating-a-release.txt
index dfde269ae..f77d7434e 100644
--- a/Etc/creating-a-release.txt
+++ b/Etc/creating-a-release.txt
@@ -6,37 +6,58 @@ To create a zsh release:
 - 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)
+	Config/version.mk version number
 	Etc/FAQ.yo
 	README
 	NEWS
 
+  The version-number sequence is as follows:
+
+	5.8, 5.8.0.1-dev, 5.8.0.2-test, 5.8.1, 5.8.1.1-dev, 5.8.1.2-test, 5.9
+
+  Please note:
+
+	- All version numbers in this document are examples only and may not
+	  reflect the actual version history of the shell.
+	- A slightly different ordering of version-number components was used
+	  prior to zsh 5.8. All subsequent releases should use the scheme
+	  described above.
+	- Usually there is only one -dev version (1-dev), but there may be more
+	  if for example there is a wordcode compatibility break, in which case
+	  the sequence would be something like 1-dev, 2-dev, 3-test, .... No
+	  special release process is associated with a -dev version bump.
+	- Usually at least one -test version is released for public testing in
+	  the lead-up to the final release of the next stable version.
+
   README should document compatibility-breaking changes. Generally, NEWS should
   document new features and major bug fixes (but not routine fixes or changes to
   completion/contrib functions).
 
+  For -test releases, you may update the FAQ, README, etc., to refer to the
+  upcoming stable version number.
+
 - Commit those changes with an "unposted" ChangeLog entry.
 
-	git commit -am "Test release: 5.5.1-test-1." &&
+	git commit -am "Test release: 5.8.1.2-test." &&
 		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-...")
+- Create signed git tag named "zsh-5.8.1..." (not "5.8.1...")
 
-	git tag --sign -m "Tag version zsh-5.5.1-test-1." zsh-5.5.1-test-1
+	git tag --sign -m "Tag version zsh-5.8.1.2-test." zsh-5.8.1.2-test
 
 - 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
+	vi Config/version.mk # bump to 5.9.0.1-dev 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
+	git checkout zsh-5.8.1.2-test
 	git diff HEAD # ensure no local mods
 	rm -f Doc/help.txt Doc/help/[_a-zA-Z0-9]* # some devs have had issues with these
 	Util/preconfig && ./configure ...
@@ -50,11 +71,11 @@ To create a zsh release:
 	git clone git://git.code.sf.net/p/zsh/web
 	git clone ssh://git.code.sf.net/p/zsh/web
 
-- Upload to sf.net
+- Upload to sf.net:
 
 	Test releases go to the "zsh-test" directory.
 	Stable releases to zsh/ and zsh-doc/.
-	After uploading, select the tar.xz artifact, press the 🛈 button ("View Details") to its right, and press [Select All] next to "Default Download For:".  This should cause sf.net to offer that artifact in the "Looking for the latest version?" line.
+	For stable releases only, after uploading, select the tar.xz artifact under zsh/, press the 🛈 button ("View Details") to its right, and press [Select All] next to "Default Download For:".  This should cause sf.net to offer that artifact in the "Looking for the latest version?" line.
 
 - If the new release is a stable release, update zsh.sf.net:
 
@@ -94,7 +115,7 @@ To create a zsh release:
 	# several minutes to appear afterwards
 	rsync ...
 
-- Upload the build artefacts to zsh.org/pub; you may need assistance from
+- For stable releases, upload the build artefacts to zsh.org/pub; you may need assistance from
   another dev if you don't have access to do this.
 
 - Post to -workers@