Differences between revisions 7 and 8
Revision 7 as of 2013-01-31 17:22:09
Size: 4274
Editor: RalphGoers
Comment:
Revision 8 as of 2013-01-31 17:54:18
Size: 4507
Editor: RalphGoers
Comment:
Deletions are marked like this. Additions are marked like this.
Line 22: Line 22:
    a. Create a release directory at /www/www.apache.org/dist/logging/log4j/ on people.apache.org and then publish the remaining distribution artifacts there.
Line 27: Line 26:
    a. Checkout https://dist.apache.org/repos/dist/release/logging/log4j.
    a. Create the release directory under the log4j directory, move all the distribution artifacts to that directory, perform an "svn add" of the release directory.
    a. Perform "svn delete" on the oldest release directory for the same version under the log4j directory.
    a. Commit the release to subversion.

Log4j 2.x Release Process

  1. Check out from https://svn.apache.org/repos/asf/logging/log4j/log4j2/trunk.

  2. Run "mvn -P release-notes generate-resources" to create the release notes.
  3. Update src/changes/changes.xml with the release date.
  4. Run "svn commit" to commit the RELEASE-NOTES.txt file that was just generated.
  5. Run "mvn -P apache-release release:prepare release:perform" to start the release. Enter the password to your signing key when prompted.
  6. Login to http://repository.apache.org using your ASF credentials. Select "Staging Repositories" then check the org.apache.logging repository and close it.

  7. Check out the release tag that was created via the Maven release plugin.
  8. Run "mvn site" in the tag directory. When that completes run "mvn site:stage-deploy -DstagingSiteURL=file:///$HOME/log4j" where $HOME is your home directory.

  9. Zip the contents of $HOME/log4j and copy to your account at people.apache.org. Unzip the contents into your public html directory.
  10. Generate the release vote email:
    1. Create the email addressed to log4j-dev@logging.apache.org and private@logging.apache.org. Sending the email to the PMC is not strictly necessary, but due to the small size of the logging PMC it is expedient to do so in order to get the required votes.

    2. Copy the changes in the release from RELEASE-NOTES.txt into the email.
    3. Provide a link to the tag, web site on people.apache.org and the artifacts in the Nexus repository.
    4. Provide the command to download all the artifacts- "wget -e robots=off --cut-dirs=3 -r -p -np --no-check-certificate link".

    5. Provide a list of the artifacts by copying from the email sent from the Nexus Repository.
  11. If the release vote fails proceed as described in the section below, otherwise if it passes:
    1. Download all the distribution files from the Nexus repository (you can download using the wget above and then going to the distribution sub-directory).
    2. Rename the distribution files back to their original names (Maven renamed them when they were deployed to Nexus) using for f in log4j-distribution-*; do mv $f $(echo $f | sed 's/^log4j-distribution-/apache-log4j-/g'); done

    3. Delete the *.asc.md5 and *.asc.sha1 files and *.pom*.
    4. Copy the site zip file to the distribution release directory.
    5. Sign the site zip using "gpg --armor --output apache-log4j-2.x-site.zip.asc --detach-sig apache-log4j-2.x-site.zip".
    6. Generate the md5 of the site zip using "gpg --print-md MD5 apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.md5".

    7. Generate the sha checksum of the site zip using "gpg --print-md SHA1 apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.sha1".

    8. Checkout https://dist.apache.org/repos/dist/release/logging/log4j.

    9. Create the release directory under the log4j directory, move all the distribution artifacts to that directory, perform an "svn add" of the release directory.
    10. Perform "svn delete" on the oldest release directory for the same version under the log4j directory.
    11. Commit the release to subversion.
    12. Delete the distribution directory from the Nexus repository.
    13. Release the remaining artifacts in the Nexus Repository.
    14. See ManagingTheWebSite regarding sub-projects.

    15. Copy the release web site from the local directory where it was deployed into the sub-project directory and make it be the current link.
  12. Wait 12-24 hours to allow the distribution artifacts to be propagated to mirrors and the maven artifacts to be available in the central repository and then send the release announcement.

If the release fails before sending the vote email:

  1. Login to http://repository.apache.org using your ASF credentials. Select "Staging Repositories" then check the org.apache.logging repository and drop it.

  2. Delete the release tag in subversion.
  3. Reset the version numbers in all of the poms back to the release snapshot.
  4. Restart the release process as the same release candidate.

If the release fails after sending the vote email:

  1. Login to http://repository.apache.org using your ASF credentials. Select "Staging Repositories" then check the org.apache.logging repository and drop it.

  2. Rename the release tag in subversion to add rcn to the end of the tag.
  3. Reset the version numbers in all of the poms back to the release snapshot.
  4. Restart the release process as a new release candidate.

Log4j2ReleaseGuide (last edited 2014-02-16 17:05:00 by NickWilliams)