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 Jump to search
(Release, release, release)
(Release, release, release)
 
(5 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
# Move [[ChangeLog/git]] and create that page again.
 
# Move [[ChangeLog/git]] and create that page again.
 
=== To release RC1 ===
 
=== To release RC1 ===
# Update version number in include/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?)
+
# Update version number in CMakeLists.txt, include/znc/version.h and configure.ac, make a new branch 1.7.1 from 1.7.x, commit with message ZNC 1.7.1-rc1. (probably version.h should mention -rc1 in VERSION_STR?)
<pre>
+
#* Example: https://github.com/znc/znc/commit/9e4d89aaa4e2b6e5c79600b93665c1c0e0bb5255
diff --git a/configure.ac b/configure.ac
+
# Modify make-tarball.sh to have DESC="-rc1" (TODO: figure it out automatically), run ./make-tarball.sh 1.7.1-rc1 without commiting that change.
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.
 
# 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.
+
# Tag the last commit with znc-1.7.1-rc1 (but without annotated tag), push commit and tag to github.
# Set [[:Template:ZNC-Version-Alpha]] to 1.6.2-rc1
+
# Set [[:Template:ZNC-Version-Alpha]] to 1.7.1-rc1
  
 
=== Release, release, release ===
 
=== Release, release, release ===
 
# Revert changes to make-tarball.sh from above
 
# Revert changes to make-tarball.sh from above
 
# git pull!!!!
 
# git pull!!!!
# Update version number in configure.ac and version.h
+
# Update version number in CMakeLists.txt, configure.ac and version.h
<pre>
+
#* Example: https://github.com/znc/znc/commit/c426898b3a1b899dfe8a8b2a3eeb4b18d8be1bf2
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)
 
</pre>
 
 
# Update <code>ChangeLog.md</code> based on [[ChangeLog/git]]
 
# Update <code>ChangeLog.md</code> based on [[ChangeLog/git]]
# Commit ("Increase the version number to 1.6.2")
+
# Commit ("Increase the version number to 1.7.1")
# Create tarball (make-tarball.sh 1.6.2)
+
# Create tarball (make-tarball.sh 1.7.1)
# Tag the new version in git (Use the changelog as msg, first line is "ZNC 1.6.2")
+
# Tag the new version in git (Use the changelog as msg, first line is "ZNC 1.7.1")
## git tag -s znc-1.6.2 HEAD
+
## git tag -s znc-1.7.1 HEAD
 
## git push --tags
 
## git push --tags
# Merge 1.6.2 to 1.6.x, delete branch 1.6.2
+
# Merge 1.7.1 to 1.7.x, delete branch 1.7.1
# (If minor release?) Revert changes to version.h and configure.ac
+
# (If minor release?) Revert changes to CMakeLists.txt, version.h and configure.ac
 +
#* Example: https://github.com/znc/znc/commit/bae80fd383fa9d75bcc4e891d79248363a6d1d24
 
# (If major release?) Bump version number to foo+1. (Commit msg: "Increase the version number to foo+1")
 
# (If major release?) Bump version number to foo+1. (Commit msg: "Increase the version number to foo+1")
 
# Update the wiki
 
# Update the wiki
## Remove <code>released=no</code> from version header in Changelog.
 
 
## Update [[:Template:ZNC-Version]].
 
## Update [[:Template:ZNC-Version]].
 
## Clear [[:Template:ZNC-Version-Alpha]].
 
## Clear [[:Template:ZNC-Version-Alpha]].
Line 93: Line 35:
 
#* The files themselves go directly into <code>archive/</code>
 
#* The files themselves go directly into <code>archive/</code>
 
#* The main dir only gets symlinks
 
#* The main dir only gets symlinks
# Write <code>znc-1.6.2-changelog.txt</code>
+
# Write <code>znc-1.7.1-changelog.txt</code>
 
# Update version number on Wikipedia.
 
# Update version number on Wikipedia.
 
# Update topic on freenode channel
 
# Update topic on freenode channel
 
# Update cygwin package using https://github.com/znc/znc-cygwin
 
# 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
 
# Update docker image using https://github.com/znc/znc-docker and https://github.com/docker-library/official-images

Latest revision as of 09:39, 27 January 2019

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 CMakeLists.txt, include/znc/version.h and configure.ac, make a new branch 1.7.1 from 1.7.x, commit with message ZNC 1.7.1-rc1. (probably version.h should mention -rc1 in VERSION_STR?)
  2. Modify make-tarball.sh to have DESC="-rc1" (TODO: figure it out automatically), run ./make-tarball.sh 1.7.1-rc1 without commiting that change.
  3. Test the tarball, publish it.
  4. Tag the last commit with znc-1.7.1-rc1 (but without annotated tag), push commit and tag to github.
  5. Set Template:ZNC-Version-Alpha to 1.7.1-rc1

Release, release, release[edit]

  1. Revert changes to make-tarball.sh from above
  2. git pull!!!!
  3. Update version number in CMakeLists.txt, configure.ac and version.h
  4. Update ChangeLog.md based on ChangeLog/git
  5. Commit ("Increase the version number to 1.7.1")
  6. Create tarball (make-tarball.sh 1.7.1)
  7. Tag the new version in git (Use the changelog as msg, first line is "ZNC 1.7.1")
    1. git tag -s znc-1.7.1 HEAD
    2. git push --tags
  8. Merge 1.7.1 to 1.7.x, delete branch 1.7.1
  9. (If minor release?) Revert changes to CMakeLists.txt, version.h and configure.ac
  10. (If major release?) Bump version number to foo+1. (Commit msg: "Increase the version number to foo+1")
  11. Update the wiki
    1. Update Template:ZNC-Version.
    2. Clear Template:ZNC-Version-Alpha.
  12. 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
  13. Write znc-1.7.1-changelog.txt
  14. Update version number on Wikipedia.
  15. Update topic on freenode channel
  16. Update cygwin package using https://github.com/znc/znc-cygwin
  17. Update docker image using https://github.com/znc/znc-docker and https://github.com/docker-library/official-images