See the prerequisites if this is your first release.
- Click "new issue";
- Opening the raw RELEASING.md content; and
- Copying the following release checklist, up to "You are done!", into the new issue and create it.
- Check CI passes against the latest Scala versions.
- Draft a new release for the release, allowing GitHub to generate draft release notes automatically.
- Run
git tag -a -s 1.x.y -m 'Version 1.x.y'
. The name of the tag should NOT have av
prefix. - In sbt run
reload
andshow version
to verify the version. - In sbt run
clean
, particularly if you've recently bumpedscalaVersion
. - In sbt run
publishSigned
. You should start seeing "published mima-.. to https://oss.sonatype.org/service/local/staging/deploy/maven2/..". - In sbt run
++2.13
coreJVM/publishSigned
coreNative/publishSigned
- In sbt run
++3.3
coreJVM/publishSigned
coreNative/publishSigned
- Find and close your staging repository. (See Sonatype's Releasing the Deployment guide.)
- Switch to a branch (e.g.
git checkout -b release-1.x.y
) - In
project/plugins.sbt
updatesbt-mima-plugin
. - In
project/MimaSettings.scala
updatemimaPreviousVersion
& clear outmimaBinaryIssueFilters
. - In sbt run
testStaging
WITHOUTreload
ing first (testStaging
adds the staging resolvers & runsreload
). - Update the version numbers in
RELEASING.md
- Run
git add -p
andgit commit -am 'Update sbt-mima-plugin to 1.x.y'
and PR it (gh pr create
orhub pull-request
). The PR won't pass CI until the release is available on Maven Central. You may poll repo1 directly (note the trailing slash in the URL). - Find and release your staging repository.
- Switch back to the main branch and run
git push --follow-tags
to push the tag. - Find and merge your update PR.
- Find and hit "Publish Release" on the draft GitHub release.
You are done!
- repo push rights
- publishing credentials for Sonatype, typically in
~/.sbt/1.0/credentials.sbt
:
credentials += Credentials("Sonatype Nexus Repository Manager", "oss.sonatype.org", <username>, <password>)
(Make sure you're not using an ancient version of sbt-pgp in ~/.sbt/1.0/plugins
.)