lightbend-labs/mima

Roll a release

SethTisue opened this issue · 1 comments

  • 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 a 'v' prefix.
  • In sbt run reload and show version to verify the version.
  • In sbt run clean, particularly if you've recently bumped scalaVersion.
  • 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 plugins.sbt update sbt-mima-plugins.
  • In project/MimaSettings.scala update mimaPreviousVersion & clear out mimaBinaryIssueFilters.
  • In sbt run testStaging WITHOUT reloading first (testStaging adds the staging resolvers & runs reload).
  • Run git commit -am 'Update sbt-mima-plugin to 1.x.y and PR it (hub 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!

Technically, the fact that we took the Scala 3.2->3.3 upgrade means we ought to bump the minor version (to 1.2.0).

But I think almost nobody is using MiMa as a Scala 3 library, so I think we should just call it 1.1.3 🤷