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

HowToRelease: Difference between revisions

From ZNC
Jump to navigation Jump to search
>Psychon
Don't ping Kuja
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
=== TODO ===
Should the changelog become part of the release tarballs? Just the latest changelog or a concatenation 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 CMakeLists.txt
## <code>git add</code> all modified files, so that make-tarball.sh picks them up.
# (if minor version) make a new branch 1.7.1 from 1.7.x
## Fix make-tarball.sh to add -rc1 to VERSION_EXTRA (TODO: do it automatically)
# commit with message ZNC 1.7.1-rc1.
## Release tarball. (<code>./make-tarball.sh VERSION-rc1</code>).
#* Example: https://github.com/znc/znc/commit/9e4d89aaa4e2b6e5c79600b93665c1c0e0bb5255
# Run <code>./make-tarball.sh 1.7.1-rc1</code>
# Test the tarball, publish it.
# 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.7.1-rc1


=== Release, release, release ===
=== Release, release, release ===
# Revert the changes from above
# Prepare changelog.txt based on [[ChangeLog/git]], let everyone check it
# git pull!!!!
# git pull!!!!
# Update version number in *version.h* and *configure.ac*
# Update version number in CMakeLists.txt, configure.ac and version.h
# Commit ("Increase the version number to foo")
#* Example: https://github.com/znc/znc/commit/c426898b3a1b899dfe8a8b2a3eeb4b18d8be1bf2
# Create tarball (make-tarball.sh VERSION)
# Update <code>ChangeLog.md</code> based on [[ChangeLog/git]]
# Tag the new version in git (Use the changelog as commit msg, first line is "ZNC 1.foo")
# Commit ("Increase the version number to 1.7.1")
## <code>git tag -s znc-1.foo HEAD</code>
# Create tarball (make-tarball.sh 1.7.1)
# Bump version number to foo+1. (Commit msg: "Increase the version number to foo+1")
# Tag the new version in git (Use the changelog as msg, first line is "ZNC 1.7.1")
## git tag -s znc-1.7.1 HEAD
## git push --tags
# Merge 1.7.1 to 1.7.x, delete branch 1.7.1
# (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")
# Update the wiki
# Update the wiki
## Move [[ChangeLog/git]] and create that page again.
## Update [[:Template:ZNC-Version]].
## Update [[:Template:ZNC-Version]].
## Clear [[:Template:ZNC-Version-Alpha]].
# Upload the release files to znc.in/.
# Upload the release files to znc.in/.
## Accessible as /srv/znc.in/www/htdocs/ on harpy.
#* Accessible as /srv/znc.in/www/htdocs/ on harpy.
## The files have to be chgrp's to user group znc!!!
#* The files have to be chgrp's to user group <code>znc</code>!!!
## The files themselves go directly into archive/
#* 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.7.1-changelog.txt</code>
# Update version number on Wikipedia.
# 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 01:16, 10 February 2024

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
  2. (if minor version) make a new branch 1.7.1 from 1.7.x
  3. commit with message ZNC 1.7.1-rc1.
  4. Run ./make-tarball.sh 1.7.1-rc1
  5. Test the tarball, publish it.
  6. Tag the last commit with znc-1.7.1-rc1 (but without annotated tag), push commit and tag to github.
  7. Set Template:ZNC-Version-Alpha to 1.7.1-rc1

Release, release, release

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