To create new wiki account, please join us on #znc at freenode and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.

Difference between revisions of "HowToRelease"

From ZNC
Jump to: navigation, search
(Preparation)
(To release RC1)
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
There is a script [https://github.com/psychon/znc/commits/make-tarball  in my make-tarball git branch] for generating tarballs.
 
 
Remember, remember: <pre>git checkout make-tarball -- make-tarball.sh && git rm --cached make-tarball.sh</pre>
 
 
=== TODO ===
 
 
Should the changelog become part of the release tarballs? Just the latest changelog or a concatination of all changelogs?
 
 
 
=== Preparation ===
 
=== Preparation ===
 
 
# Check todo lists and bug trackers.
 
# Check todo lists and bug trackers.
# Check whether our-of-source builds still work.
+
# Update [[:Template:ZNC-Versions]].
# Release an "-alpha1" and notice that nobody tests it.
+
# Prepare [[ChangeLog/git]], let everyone check it.
# Do a "-beta1" which still no one tests.
+
# Move [[ChangeLog/git]] and create that page again.
# For "-rc1", we finally do some version number changes
+
=== To release RC1 ===
## Update version number in *version.h* and configure.ac* (use VERSION-rc1 here)
+
# Update version number in include/znc/version.h and configure.ac, make a new branch 1.6.2 from 1.6.x, commit with message ZNC 1.6.2-rc1. (probably version.h should mention -rc1 in VERSION_STR?)
## Add an undef for VERSION_EXTRA and define VERSION_EXTRA to "-rc1" in main.h
+
<pre>
## <code>git add</code> all modified files, so that make-tarball.sh picks them up.
+
diff --git a/configure.ac b/configure.ac
## Release tarball. (<code>./make-tarball.sh VERSION-rc1</code>).
+
index 2c25258..53a4527 100644
 +
--- a/configure.ac
 +
+++ b/configure.ac
 +
@@ -7,7 +7,7 @@ AC_DEFUN([AC_PROG_CC], [m4_errprint(__file__:__line__[: Something is trying to u
 +
dnl Needed for AC_PATH_PROGS_FEATURE_CHECK which was added in 2.62
 +
AC_PREREQ([2.62])
 +
dnl Keep the version number in sync with version.h!
 +
-AC_INIT([znc], [1.6.x])
 +
+AC_INIT([znc], [1.6.2-rc1])
 +
AC_CONFIG_MACRO_DIR([m4])
 +
AC_CONFIG_SRCDIR([src/znc.cpp])
 +
AC_LANG([C++])
 +
diff --git a/include/znc/version.h b/include/znc/version.h
 +
index 14d7bf1..d2c4b0b 100644
 +
--- a/include/znc/version.h
 +
+++ b/include/znc/version.h
 +
@@ -4,9 +4,9 @@
 +
// The following defines are for #if comparison (preprocessor only likes ints)
 +
#define VERSION_MAJOR  1
 +
#define VERSION_MINOR  6
 +
-#define VERSION_PATCH  -1
 +
+#define VERSION_PATCH  2
 +
// This one is for display purpose
 +
-#define VERSION_STR    "1.6.x"
 +
+#define VERSION_STR    "1.6.2-rc1"
 +
// This one is for ZNCModInfo
 +
#define VERSION        (VERSION_MAJOR + VERSION_MINOR / 10.0)
 +
</pre>
 +
# Modify make-tarball.sh to have DESC="-rc1" (TODO: figure it out automatically), run ./make-tarball.sh 1.6.2-rc1 without commiting that change.
 +
# Test the tarball, publish it.
 +
# Tag the last commit with znc-1.6.2-rc1 (but without annotated tag), push commit and tag to github.
 +
# Set [[:Template:ZNC-Version-Alpha]] to 1.6.2-rc1
  
 
=== Release, release, release ===
 
=== Release, release, release ===
# Revert the changes from above
+
# Revert changes to make-tarball.sh from above
# Prepare changelog.txt based on [[ChangeLog/git]], let everyone check it
 
 
# git pull!!!!
 
# git pull!!!!
# Update version number in *main.h* and *configure.ac*
+
# Update version number in configure.ac and version.h
# Commit ("Increase the version number to foo")
+
<pre>
# Create tarball (make-tarball.sh)
+
diff --git a/configure.ac b/configure.ac
# Tag the new version in git (Use the changelog as commit msg, first line is "ZNC 0.foo")
+
index b2dc617e..9b4b85d3 100644
## <code>git tag -s znc-0.foo HEAD</code>
+
--- a/configure.ac
# Bump version number to foo+1. (Commit msg: "Increase the version number to foo+1")
+
+++ b/configure.ac
 +
@@ -7,7 +7,7 @@ AC_DEFUN([AC_PROG_CC], [m4_errprint(__file__:__line__[: Something is trying to u
 +
dnl Needed for AC_PATH_PROGS_FEATURE_CHECK which was added in 2.62
 +
AC_PREREQ([2.62])
 +
dnl Keep the version number in sync with version.h!
 +
-AC_INIT([znc], [1.6.x])
 +
+AC_INIT([znc], [1.6.6-rc1])
 +
AC_CONFIG_MACRO_DIR([m4])
 +
AC_CONFIG_SRCDIR([src/znc.cpp])
 +
AC_LANG([C++])
 +
diff --git a/include/znc/version.h b/include/znc/version.h
 +
index 14d7bf16..c9ae5fb3 100644
 +
--- a/include/znc/version.h
 +
+++ b/include/znc/version.h
 +
@@ -4,9 +4,9 @@
 +
// The following defines are for #if comparison (preprocessor only likes ints)
 +
#define VERSION_MAJOR  1
 +
#define VERSION_MINOR  6
 +
-#define VERSION_PATCH  -1
 +
+#define VERSION_PATCH  6
 +
// This one is for display purpose
 +
-#define VERSION_STR    "1.6.x"
 +
+#define VERSION_STR    "1.6.6-rc1"
 +
// This one is for ZNCModInfo
 +
#define VERSION        (VERSION_MAJOR + VERSION_MINOR / 10.0)
 +
</pre>
 +
# Update <code>ChangeLog.md</code> based on [[ChangeLog/git]]
 +
# Commit ("Increase the version number to 1.6.2")
 +
# Create tarball (make-tarball.sh 1.6.2)
 +
# Tag the new version in git (Use the changelog as msg, first line is "ZNC 1.6.2")
 +
## git tag -s znc-1.6.2 HEAD
 +
## git push --tags
 +
# Merge 1.6.2 to 1.6.x, delete branch 1.6.2
 +
# (If minor release?) Revert changes to version.h and configure.ac
 +
# (If major release?) Bump version number to foo+1. (Commit msg: "Increase the version number to foo+1")
 
# Update the wiki
 
# Update the wiki
## Move [[ChangeLog/git]] and create that page again.
+
## Remove <code>released=no</code> from version header in Changelog.
 
## Update [[:Template:ZNC-Version]].
 
## Update [[:Template:ZNC-Version]].
# Upload the release files to people.znc.in/.
+
## Clear [[:Template:ZNC-Version-Alpha]].
## The files themselves go directly into archive/
+
# Upload the release files to znc.in/.
## The main dir only gets symlinks
+
#* Accessible as /srv/znc.in/www/htdocs/ on harpy.
# Ping Kuja to update [http://znc.in/releases znc.in/releases]
+
#* The files have to be chgrp's to user group <code>znc</code>!!!
# Remind DarthGandalf to make new modperl/modpython tarballs to use without SWIG.
+
#* The files themselves go directly into <code>archive/</code>
 +
#* The main dir only gets symlinks
 +
# Write <code>znc-1.6.2-changelog.txt</code>
 +
# Update version number on Wikipedia.
 +
# Update topic on freenode channel
 +
# Update cygwin package using https://github.com/znc/znc-cygwin
 +
# Update docker image using https://github.com/znc/znc-docker and https://github.com/docker-library/official-images

Latest revision as of 08:13, 5 March 2018

Preparation[edit]

  1. Check todo lists and bug trackers.
  2. Update Template:ZNC-Versions.
  3. Prepare ChangeLog/git, let everyone check it.
  4. Move ChangeLog/git and create that page again.

To release RC1[edit]

  1. Update version number in include/znc/version.h and configure.ac, make a new branch 1.6.2 from 1.6.x, commit with message ZNC 1.6.2-rc1. (probably version.h should mention -rc1 in VERSION_STR?)
diff --git a/configure.ac b/configure.ac
index 2c25258..53a4527 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,7 +7,7 @@ AC_DEFUN([AC_PROG_CC], [m4_errprint(__file__:__line__[: Something is trying to u
 dnl Needed for AC_PATH_PROGS_FEATURE_CHECK which was added in 2.62
 AC_PREREQ([2.62])
 dnl Keep the version number in sync with version.h!
-AC_INIT([znc], [1.6.x])
+AC_INIT([znc], [1.6.2-rc1])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_SRCDIR([src/znc.cpp])
 AC_LANG([C++])
diff --git a/include/znc/version.h b/include/znc/version.h
index 14d7bf1..d2c4b0b 100644
--- a/include/znc/version.h
+++ b/include/znc/version.h
@@ -4,9 +4,9 @@
 // The following defines are for #if comparison (preprocessor only likes ints)
 #define VERSION_MAJOR  1
 #define VERSION_MINOR  6
-#define VERSION_PATCH  -1
+#define VERSION_PATCH  2
 // This one is for display purpose
-#define VERSION_STR    "1.6.x"
+#define VERSION_STR    "1.6.2-rc1"
 // This one is for ZNCModInfo
 #define VERSION        (VERSION_MAJOR + VERSION_MINOR / 10.0)
  1. Modify make-tarball.sh to have DESC="-rc1" (TODO: figure it out automatically), run ./make-tarball.sh 1.6.2-rc1 without commiting that change.
  2. Test the tarball, publish it.
  3. Tag the last commit with znc-1.6.2-rc1 (but without annotated tag), push commit and tag to github.
  4. Set Template:ZNC-Version-Alpha to 1.6.2-rc1

Release, release, release[edit]

  1. Revert changes to make-tarball.sh from above
  2. git pull!!!!
  3. Update version number in configure.ac and version.h
diff --git a/configure.ac b/configure.ac
index b2dc617e..9b4b85d3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,7 +7,7 @@ AC_DEFUN([AC_PROG_CC], [m4_errprint(__file__:__line__[: Something is trying to u
 dnl Needed for AC_PATH_PROGS_FEATURE_CHECK which was added in 2.62
 AC_PREREQ([2.62])
 dnl Keep the version number in sync with version.h!
-AC_INIT([znc], [1.6.x])
+AC_INIT([znc], [1.6.6-rc1])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_SRCDIR([src/znc.cpp])
 AC_LANG([C++])
diff --git a/include/znc/version.h b/include/znc/version.h
index 14d7bf16..c9ae5fb3 100644
--- a/include/znc/version.h
+++ b/include/znc/version.h
@@ -4,9 +4,9 @@
 // The following defines are for #if comparison (preprocessor only likes ints)
 #define VERSION_MAJOR  1
 #define VERSION_MINOR  6
-#define VERSION_PATCH  -1
+#define VERSION_PATCH  6
 // This one is for display purpose
-#define VERSION_STR    "1.6.x"
+#define VERSION_STR    "1.6.6-rc1"
 // This one is for ZNCModInfo
 #define VERSION        (VERSION_MAJOR + VERSION_MINOR / 10.0)
  1. Update ChangeLog.md based on ChangeLog/git
  2. Commit ("Increase the version number to 1.6.2")
  3. Create tarball (make-tarball.sh 1.6.2)
  4. Tag the new version in git (Use the changelog as msg, first line is "ZNC 1.6.2")
    1. git tag -s znc-1.6.2 HEAD
    2. git push --tags
  5. Merge 1.6.2 to 1.6.x, delete branch 1.6.2
  6. (If minor release?) Revert changes to version.h and configure.ac
  7. (If major release?) Bump version number to foo+1. (Commit msg: "Increase the version number to foo+1")
  8. Update the wiki
    1. Remove released=no from version header in Changelog.
    2. Update Template:ZNC-Version.
    3. Clear Template:ZNC-Version-Alpha.
  9. Upload the release files to znc.in/.
    • Accessible as /srv/znc.in/www/htdocs/ on harpy.
    • The files have to be chgrp's to user group znc!!!
    • The files themselves go directly into archive/
    • The main dir only gets symlinks
  10. Write znc-1.6.2-changelog.txt
  11. Update version number on Wikipedia.
  12. Update topic on freenode channel
  13. Update cygwin package using https://github.com/znc/znc-cygwin
  14. Update docker image using https://github.com/znc/znc-docker and https://github.com/docker-library/official-images