diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..bef4a568 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,23 @@ +name: Release +on: + push: + branches: [master, main] + tags: ["*"] +jobs: + publish: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: 17 + cache: sbt + - run: sbt ci-release + env: + PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} + PGP_SECRET: ${{ secrets.PGP_SECRET }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} diff --git a/build.sbt b/build.sbt index 15502207..470bc1a6 100644 --- a/build.sbt +++ b/build.sbt @@ -1,4 +1,4 @@ -val releaseV = "4.0.0" +publish / skip := true val scala212V = "2.12.15" val scala213V = "2.13.7" @@ -39,8 +39,22 @@ val commonDeps = Seq( lazy val Ci = config("ci").extend(Test) ThisBuild / organization := "com.github.scullxbones" -ThisBuild / version := releaseV ThisBuild / scalaVersion := scalaV +ThisBuild / versionScheme := Some("semver-spec") + +import xerial.sbt.Sonatype._ + +ThisBuild / sonatypeProjectHosting := Some(GitHubHosting("scullxbones", "akka-persistence-mongo", "scullduggery@gmail.com")) +ThisBuild / licenses := Seq("APL2" -> url("http://www.apache.org/licenses/LICENSE-2.0.txt")) +ThisBuild / developers := List( + Developer( + "scullxbones", + "Brian Scully", + "@scullxbones", + url("https://github.com/scullxbones/") + ) + ) +ThisBuild / homepage := Some(url("https://github.com/scullxbones/akka-persistence-mongo")) val commonSettings = Seq( scalaVersion := scalaV, @@ -52,8 +66,6 @@ val commonSettings = Seq( "com.typesafe.akka" %% "akka-stream" % akkaV, "org.mongodb" % "mongodb-driver-legacy" % MongoJavaDriverVersion ), - version := releaseV, - organization := "com.github.scullxbones", scalacOptions ++= Seq( "-unchecked", "-deprecation", @@ -131,7 +143,8 @@ lazy val `akka-persistence-mongo-tools` = (project in file("tools")) .settings( libraryDependencies ++= Seq( "org.mongodb.scala" %% "mongo-scala-driver" % "2.7.0" % "compile" - ) + ), + publish / skip := true, ) .configs(Ci) @@ -139,6 +152,6 @@ lazy val `akka-persistence-mongo` = (project in file(".")) .aggregate(`akka-persistence-mongo-common`, `akka-persistence-mongo-rxmongo`, `akka-persistence-mongo-scala`, `akka-persistence-mongo-tools`) .settings( crossScalaVersions := Nil, - skip in publish := true, + publish / skip := true, publishTo := Some(Resolver.file("file", new File("target/unusedrepo"))) ) diff --git a/project/plugins.sbt b/project/plugins.sbt index 443d37bb..ec40530f 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,5 +1,3 @@ libraryDependencies += "org.scala-lang" % "scala-compiler" % scalaVersion.value -addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.9.10") - -addSbtPlugin("com.jsuereth" % "sbt-pgp" % "2.1.1") +addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.5.12") diff --git a/sonatype.sbt b/sonatype.sbt deleted file mode 100644 index 3ca183cd..00000000 --- a/sonatype.sbt +++ /dev/null @@ -1,28 +0,0 @@ -publishMavenStyle := true - -licenses := Seq("APL2" -> url("http://www.apache.org/licenses/LICENSE-2.0.txt")) - -import xerial.sbt.Sonatype._ -sonatypeProjectHosting := Some(GitHubHosting("scullxbones", "akka-persistence-mongo", "scullduggery@gmail.com")) - -pomExtra in Global := { - https://github.com/scullxbones/akka-persistence-mongo - - - Apache 2 - http://www.apache.org/licenses/LICENSE-2.0.txt - - - - scm:git:github.com/scullxbones/akka-persistence-mongo.git - scm:git:git@github.com:scullxbones/akka-persistence-mongo.git - github.com/scullxbones/akka-persistence-mongo.git - - - - scullxbones - Brian Scully - https://github.com/scullxbones/ - - -}