diff --git a/HOW TO RELEASE.md b/HOW TO RELEASE.md new file mode 100644 index 0000000..54b0541 --- /dev/null +++ b/HOW TO RELEASE.md @@ -0,0 +1,25 @@ +# Release process + +How to create a new [release](../../releases). + +## Releasing + +The release process is automated thanks to: +- https://github.com/djspiewak/sbt-github-actions#integration-with-sbt-ci-release +- https://github.com/olafurpg/sbt-ci-release + +To release, push a git tag: + +``` +git tag -a v0.1.0 -m "v0.1.0" +git push origin v0.1.0 +``` +Note that the tag version MUST start with `v`. + +Wait for the [CI pipeline](../../actions) to release the new version. Publishing the artifacts on maven central can take time. + +## Updating the release notes + +Open the [releases](../../releases). A draft should already be prepared. + +Edit the draft release to set the released version. Complete the release notes if necessary. And save it. diff --git a/project/plugins.sbt b/project/plugins.sbt index 2e51d80..b01d1d0 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -3,3 +3,4 @@ addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.8.2") addSbtPlugin("org.scoverage" % "sbt-coveralls" % "1.2.7") addSbtPlugin("com.codecommit" % "sbt-github-actions" % "0.12.0") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.2") +addSbtPlugin("com.geirsson" % "sbt-ci-release" % "1.5.7")