Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Edit pom.xml and change the Log4jKotlinVersion property to the new version n.n.n.
  2. Update the Log4jReleaseManager and Log4jReleaseKey properties if necessary.
  3. Generate the site locally and verify it looks alright.
    1. mvn site && mvn site:stage -DstagingDirectory=$HOME/log4j-kotlin
    2. cd target/site
    3. python3 -m http.server
    4. Go to http://localhost:8000
  4. Build, sign, tag, and publish a release candidate n.n.n-rcn. If your GPG key isn't on a hardware key, it should be password protected; you'll be prompted to enter the password to sign artifacts during the build.
    1. mvn -Papache-release -DskipTests -Darguments="DskipTests" release:prepare release:perform -DreleaseVersion=n.n.n -DdevelopmentVersion=n.n.n-SNAPSHOT -Dtag=log4j-api-kotlin-n.n.n-rcn
  5. Login to https://repository.apache.org/ with your ASF credentials. Select "Staging Repositories", then find the newly created orgapachelogging-* staging repository and close it.
  6. Checkout the release tag and stage the website into a working copy of the asf-staging branch of https://github.com/apache/logging-log4j-site/tree/asf-staging to log4j-kotlin-n.n.n and update the symlink of kotlin to point to it.
    1. mvn site && mvn site:stage -DstagingDirectory=$HOME/code/logging/site-java/log4j-kotlin-n.n.n
    2. Check result of deployment: https://logging.staged.apache.org/log4j/kotlin/
  7. Copy the archives and signatures from log4j-api-kotlin/target/ to https://dist.apache.org/repos/dist/dev/logging/log4j/kotlin/.
  8. Run for f in *.bz2 *.gz *.zip; do shasum -a 512 $f >$f.sha512; shasum -a 256 $f >$f.sha256; done to generate hashsums.
  9. Send a release vote email to dev@logging.apache.org with links to everything.
  10. If the release fails, drop the staging repository on repository.a.o and start over with a fresh release candidate number.
  11. Otherwise, if the release passes, complete the release on the staging repository.
  12. Create an immutable signed release tag.
    1. git tag -s rel/n.n.n 'log4j-api-kotlin-n.n.n-rcn^{}' -m 'Release n.n.n of Log4j Kotlin API' && git push --tags
  13. Move the distribution artifacts to https://dist.apache.org/repos/dist/release/logging/log4j/kotlin/ where a new version directory should be made.
    1. svn mkdir '^/release/logging/log4j/kotlin/n.n.n'
    2. svn mv $(svn ls '^/dev/logging/log4j/kotlin' | xargs printf '^/dev/logging/log4j/kotlin/%s ') '^/release/logging/log4j/kotlin/n.n.n/'
  14. Login to https://reporter.apache.org/ to record the release.
  15. Wait 12-24 hours for mirrors to propagate.
  16. Delete the previous version in https://dist.apache.org/repos/dist/release/logging/log4j/kotlin/.
    1. svn rm '^/release/logging/log4j/kotlin/n.n.n-1'
  17. Merge the asf-staging site branch into asf-site
    1. git checkout asf-site && git rebase asf-staging && git push origin asf-site
  18. Update any redirect to point to new version for latest (if applicable).
  19. Send announcement email (from your apache.org email) to dev@logging.apache.org, log4j-user@logging.apache.org, and announcements@apache.org.

...