How to Release

Prerequisites

  • Sign up for a Sonatype account here
  • Ask for permissions to push to com.spotify domain like in this ticket
  • Add Sonatype credentials to ~/.sbt/1.0/credentials.sbt
credentials ++= Seq(
Credentials(
    "Sonatype Nexus Repository Manager",
    "oss.sonatype.org",
    "$USERNAME",
    "$PASSWORD"))

Update version matrix

If the release includes a Beam version bump, update the version matrix

Automatic (CI)

Checkout and update the main branch.

git checkout main

git pull

Create and push a new version tag

git tag -a vX.Y.Z -m "vX.Y.Z"

git push origin vX.Y.Z

Manual

  • Run the slow integration tests with SLOW=true sbt it:test
  • Run release skip-tests in sbt console and follow the instructions
  • Go to oss.sonatype.org, find the staging repository, “close” and “release”
  • When the tag build completes, update release notes with name and change log
  • Run ./scripts/make-site.sh to update documentation

After successfully published artifacts