Skip to content

Latest commit

 

History

History
84 lines (59 loc) · 2.66 KB

RELEASING.md

File metadata and controls

84 lines (59 loc) · 2.66 KB

Releasing

Create a new issue from the Release Train Issue Template:

$ sh ./scripts/create-release-issue.sh 0.x.y

Manually

Prerequisites

JDK 8 and JDK 11

Releasing Akka requires running on JDK 11, but also having JDK 8 installed. The reason for this is that we want the Akka artifacts to be usable with JRE 8, but also want to compile some classes with JDK11-specific types.

In the future we might be able to update the build to work without having JDK 8 installed, by using the -release option.

One Time GPG and sbt-pgp setup

If you have not set up GPG or used sbt-pgp on the release machine

  • Check the sbt-pgp usage for any setup steps you may still need, for example:
sbt> set pgpReadOnly := false
sbt> pgp-cmd gen-key
  • Check that signing works with sbt> publishLocalSigned

Mac

When releasing from MacOS you may want to use YubiKey or have MacGPG installed.

Windows

When releasing from Windows, you need MinGW and a gpg distribution such as Gpg4Win

Git

Make sure you have set core.autocrlf to false in your ~/.gitconfig, otherwise git might convert line endings in some cases.

Whitesource

Make sure you have the Lightbend Whitesource credentials configured in your ~/.sbt/1.0/private-credentials.sbt.

Install Graphviz

Graphvis is needed for the scaladoc generation build task, which is part of the release.

Snapshot releases

Snapshot releases are created from master and published to https://oss.sonatype.org/content/repositories/snapshots/com/typesafe/akka/

To create snapshot versions manually, use sbt clean publishLocal. If you have access, you can use +publishSigned to publish them to sonatype.

Releasing only updated docs

It is possible to release a revised documentation to the already existing release.

  1. Create a new branch from a release tag. If a revised documentation is for the v2.6.4 release, then the name of the new branch should be docs/v2.6.4.
  2. Add and commit version.sbt file that pins the version to the one that is being revised. Also set isSnapshot to false for the stable documentation links. For example:
    ThisBuild / version := "2.6.4"
    ThisBuild / isSnapshot := false
  3. Make all of the required changes to the documentation.
  4. Build documentation locally with:
    sbt akka-docs/paradoxBrowse
  5. If the generated documentation looks good, send it to Gustav:
    sbt akka-docs/publishRsync
  6. Do not forget to push the new branch back to GitHub.