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"))
- Create a PGP key, for example on keybase.io, and distribute it to a public keyserver
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
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
- Clean the
mimaBinaryIssueFilters
inbuild.sbt
if needed - Create a GitHub release
- Run scripts/bump_scio.sh to update homebrew formula
- Update
scioVersion
in downstream repos (scio.g8, etc.) - Send announcement to scio-users@googlegroups.com
0.14.8-23-c45685a-20241105T161920Z*