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 Travis CI passes against the latest Scala versions.
- Create a new milestone for the release you are about to perform, if one doesn't exist.
- Draft a new release for the release, by comparing changes.
- Bump the version in the
README.md
andgit commit -am 'Release 0.x.y
. - Run
git tag -a -s 0.x.y -m 'Version 0.x.y
. The name of the tag should NOT have a 'v' 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/..". - Find and close your staging repository. (See Sonatype's Releasing the Deployment guide.)
- In
plugins.sbt
updatesbt-mima-plugins
. - In
project/MimaSettings.scala
updatemimaPreviousVersion
& clear outmimaBinaryIssueFilters
. - In sbt run
testStaging
WITHOUTreload
ing first (testStaging
add staging resolvers & then runsreload
). - Run
git commit -am 'Update sbt-mima-plugin to 0.x.y
and PR it (hub pull-request
). - Find and release your staging repository.
- Close the milestone.
- Find and merge your update PR. You may poll repo1 directly (note the trailing slash in the URL).
- Run
git push --follow-tags
to push the tag. - Find and hit "Publish Release" on the draft GitHub release.
You are done!
- repo push rights
- publishing crendentials 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
.)