Releasing a Log4cxx version

This document lists the steps that must be performed to release Log4cxx using 1.3.0 as the example.

Prerequisites

Steps

  1. Tag HEAD as the release candidate
    • git checkout master
    • git push origin tag v1.3.0-RC1
  2. Remove the old artifacts from svn
    • svn co https://dist.apache.org/repos/dist/dev/logging -N apache-dist-logging-dev
    • cd apache-dist-logging-dev
    • svn up log4cxx
    • cd log4cxx
    • svn delete *
  3. Download the packaged release files from Github
    • Open https://github.com/apache/logging-log4cxx/commits/v1.3.0-RC1 in your web browser
    • Click the green tick mark on the top commit
      • The All checks have passed pop-up window will display
    • Click the “Details” link on the row next to Generate release files / Package code for release
      • The Package for release log window will display
    • Click the > to the left of Run action/upload-artifact
      • The numbered steps will display
    • Click the link next to Artifact download URL:
      • The browser will download the file Upload release files.zip onto your system
  4. Unpack the release files using these commands
    • cd apache-dist-logging-dev/log4cxx
    • unzip "$HOME/Downloads/Upload release files.zip"
  5. Sign release artifacts (Refer: https://infra.apache.org/release-signing.html) (with apache-dist-logging-dev/log4cxx as the working directory)
    • gpg --armor --output apache-log4cxx-1.3.0.zip.asc --detach-sig apache-log4cxx-1.3.0.zip
    • gpg --armor --output apache-log4cxx-1.3.0.tar.gz.asc --detach-sig apache-log4cxx-1.3.0.tar.gz
  6. Send the new artifacts to svn (with apache-dist-logging-dev/log4cxx as the working directory)
  7. Raise a vote on the mailing list (dev@logging.apache.org)
  8. Wait 72 hours (the minimum)
  9. When the vote has 3 or more +1's, announce the result
  10. Get artifacts up to https://downloads.apache.org/logging/log4cxx/
    • svn move -m "Release log4cxx 1.3.0" https://dist.apache.org/repos/dist/dev/logging/log4cxx https://dist.apache.org/repos/dist/release/logging/log4cxx/1.3.0
  11. Tag the released version
    • git checkout v1.3.0-RC1
    • git push origin tag rel/v1.3.0
  12. Enter the release date in src/site/markdown/change-report-gh.md
  13. Check the staged web site is ready to go live
    • Are you are seeing the release date on changelog?
    • Do the links on download page work?
  14. Make the new version of the web site live.
    • git clone https://github.com/apache/logging-log4cxx-site /tmp/log4cxx-site
    • cd /tmp/log4cxx-site
    • git checkout asf-site
    • git rebase asf-staging
    • git push origin asf-site
  15. Check https://logging.apache.org/log4cxx (after a minute or two)
    • Are you seeing the new pages?
    • Do the download links now work?
  16. Announce the release to the mailing lists (announce@apache.org, dev@logging.apache.org)