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)
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 ===
 
=== TODO ===
  
Should the changelog become part of the release tarballs? Just the latest changelog or a concatination of all changelogs?
+
Should the changelog become part of the release tarballs? Just the latest changelog or a concatenation of all changelogs?
  
 
=== Preparation ===
 
=== Preparation ===
Line 15: Line 11:
 
# For "-rc1", we finally do some version number changes
 
# For "-rc1", we finally do some version number changes
 
## Update version number in *version.h* and *configure.ac* (use VERSION-rc1 here)
 
## Update version number in *version.h* and *configure.ac* (use VERSION-rc1 here)
## Add an undef for VERSION_EXTRA and define VERSION_EXTRA to "-rc1" in version.cpp
 
 
## <code>git add</code> all modified files, so that make-tarball.sh picks them up.
 
## <code>git add</code> all modified files, so that make-tarball.sh picks them up.
 +
## Fix make-tarball.sh to add -rc1 to VERSION_EXTRA (TODO: do it automatically)
 
## Release tarball. (<code>./make-tarball.sh VERSION-rc1</code>).
 
## Release tarball. (<code>./make-tarball.sh VERSION-rc1</code>).
  
Line 25: Line 21:
 
# Update version number in *version.h* and *configure.ac*
 
# Update version number in *version.h* and *configure.ac*
 
# Commit ("Increase the version number to foo")
 
# Commit ("Increase the version number to foo")
# Create tarball (make-tarball.sh)
+
# Create tarball (make-tarball.sh VERSION)
# Tag the new version in git (Use the changelog as commit msg, first line is "ZNC 0.foo")
+
# Tag the new version in git (Use the changelog as commit msg, first line is "ZNC 1.foo")
## <code>git tag -s znc-0.foo HEAD</code>
+
## <code>git tag -s znc-1.foo HEAD</code>
 
# Bump version number to foo+1. (Commit msg: "Increase the version number to foo+1")
 
# Bump version number to foo+1. (Commit msg: "Increase the version number to foo+1")
 
# Update the wiki
 
# Update the wiki
Line 36: Line 32:
 
## The main dir only gets symlinks
 
## The main dir only gets symlinks
 
# Ping Kuja to update [http://znc.in/releases znc.in/releases]
 
# Ping Kuja to update [http://znc.in/releases znc.in/releases]
# Remind DarthGandalf to make new modperl/modpython tarballs to use without SWIG.
 

Revision as of 13:57, 4 November 2013

TODO

Should the changelog become part of the release tarballs? Just the latest changelog or a concatenation of all changelogs?

Preparation

  1. Check todo lists and bug trackers.
  2. Check whether our-of-source builds still work.
  3. Release an "-alpha1" and notice that nobody tests it.
  4. Do a "-beta1" which still no one tests.
  5. For "-rc1", we finally do some version number changes
    1. Update version number in *version.h* and *configure.ac* (use VERSION-rc1 here)
    2. git add all modified files, so that make-tarball.sh picks them up.
    3. Fix make-tarball.sh to add -rc1 to VERSION_EXTRA (TODO: do it automatically)
    4. Release tarball. (./make-tarball.sh VERSION-rc1).

Release, release, release

  1. Revert the changes from above
  2. Prepare changelog.txt based on ChangeLog/git, let everyone check it
  3. git pull!!!!
  4. Update version number in *version.h* and *configure.ac*
  5. Commit ("Increase the version number to foo")
  6. Create tarball (make-tarball.sh VERSION)
  7. Tag the new version in git (Use the changelog as commit msg, first line is "ZNC 1.foo")
    1. git tag -s znc-1.foo HEAD
  8. Bump version number to foo+1. (Commit msg: "Increase the version number to foo+1")
  9. Update the wiki
    1. Move ChangeLog/git and create that page again.
    2. Update Template:ZNC-Version.
  10. Upload the release files to people.znc.in/.
    1. The files themselves go directly into archive/
    2. The main dir only gets symlinks
  11. Ping Kuja to update znc.in/releases