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
Line 16: Line 16:
 
# git pull!!!!
 
# git pull!!!!
 
# Update version number in configure.ac and version.h
 
# Update version number in 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 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
Line 64: Line 36:
 
#* 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

Revision as of 09:31, 19 January 2019

Preparation

  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

  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

  1. Revert changes to make-tarball.sh from above
  2. git pull!!!!
  3. Update version number in 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 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. Remove released=no from version header in Changelog.
    2. Update Template:ZNC-Version.
    3. 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