This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch main
in repository
https://gitbox.apache.org/repos/asf/incubator-pekko-persistence-cassandra.git
The following commit(s) were added to refs/heads/main by this push:
new 230aafe enable mima (#114)
230aafe is described below
commit 230aafef64d38ce4d1f19b89a5ef5ff749121c8e
Author: PJ Fanning <[email protected]>
AuthorDate: Mon Nov 13 09:16:24 2023 +0100
enable mima (#114)
---
.github/workflows/unit-tests.yml | 30 ++++++++++++++++++++++++++++++
build.sbt | 16 +++++++++++++---
project/plugins.sbt | 1 +
3 files changed, 44 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml
index e84ff75..df9404b 100644
--- a/.github/workflows/unit-tests.yml
+++ b/.github/workflows/unit-tests.yml
@@ -57,6 +57,36 @@ jobs:
run: |-
docker-compose up -d ${{ matrix.container }} && sbt ${{
matrix.scalaVersion }} ${{matrix.test}}
+ mima:
+ name: MiMa check
+ if: github.repository == 'apache/incubator-pekko-persistence-cassandra'
+ runs-on: ubuntu-22.04
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ fetch-tags: true
+
+ - name: Checkout GitHub merge
+ if: github.event.pull_request
+ run: |-
+ git fetch origin pull/${{ github.event.pull_request.number
}}/merge:scratch
+ git checkout scratch
+
+ - name: Setup Java 8
+ uses: actions/setup-java@v3
+ with:
+ distribution: temurin
+ java-version: 8
+
+ - name: Cache Coursier cache
+ uses: coursier/[email protected]
+
+ - name: MiMa Check
+ run: sbt +mimaReportBinaryIssues
+
docs:
name: ScalaDoc, Documentation with Paradox
if: github.repository == 'apache/incubator-pekko-persistence-cassandra'
diff --git a/build.sbt b/build.sbt
index a5c36ab..41582cc 100644
--- a/build.sbt
+++ b/build.sbt
@@ -24,10 +24,12 @@ addCommandAlias("applyCodeStyle", ";scalafmtAll;
scalafmtSbt; javafmtAll; docs/j
addCommandAlias("checkCodeStyle",
";+headerCheckAll; scalafmtCheckAll; scalafmtSbtCheck; javafmtCheckAll;
docs/javafmtCheckAll")
+val mimaCompareVersion = "1.0.0"
+
lazy val root = project
.in(file("."))
.enablePlugins(Common, ScalaUnidocPlugin)
- .disablePlugins(SitePlugin)
+ .disablePlugins(SitePlugin, MimaPlugin)
.aggregate(core, cassandraLauncher)
.settings(name := "pekko-persistence-cassandra-root", publish / skip := true)
@@ -36,18 +38,22 @@ dumpSchema := (core / Test / runMain).toTask("
org.apache.pekko.persistence.cass
lazy val core = project
.in(file("core"))
- .enablePlugins(Common, AutomateHeaderPlugin, MultiJvmPlugin)
+ .enablePlugins(Common, AutomateHeaderPlugin, MimaPlugin, MultiJvmPlugin)
.dependsOn(cassandraLauncher % Test)
.settings(
name := "pekko-persistence-cassandra",
libraryDependencies ++= Dependencies.pekkoPersistenceCassandraDependencies,
Compile / packageBin / packageOptions += Package.ManifestAttributes(
- "Automatic-Module-Name" -> "pekko.persistence.cassandra"))
+ "Automatic-Module-Name" -> "pekko.persistence.cassandra"),
+ mimaReportSignatureProblems := true,
+ mimaPreviousArtifacts := Set(
+ organization.value %% name.value % mimaCompareVersion))
.configs(MultiJvm)
lazy val cassandraLauncher = project
.in(file("cassandra-launcher"))
.enablePlugins(Common)
+ .disablePlugins(MimaPlugin)
.settings(
name := "pekko-persistence-cassandra-launcher",
Compile / managedResourceDirectories += (cassandraBundle / target).value /
"bundle",
@@ -58,6 +64,7 @@ lazy val cassandraLauncher = project
lazy val cassandraBundle = project
.in(file("cassandra-bundle"))
.enablePlugins(Common, AutomateHeaderPlugin)
+ .disablePlugins(MimaPlugin)
.settings(
name := "pekko-persistence-cassandra-bundle",
crossPaths := false,
@@ -72,6 +79,7 @@ lazy val cassandraBundle = project
lazy val endToEndExample = project
.in(file("example"))
.dependsOn(core)
+ .disablePlugins(MimaPlugin)
.settings(
libraryDependencies ++= Dependencies.exampleDependencies, publish / skip
:= true,
// make version compatible with docker for publishing example project,
@@ -107,11 +115,13 @@ lazy val endToEndExample = project
lazy val dseTest = project
.in(file("dse-test"))
+ .disablePlugins(MimaPlugin)
.dependsOn(core % "test->test")
.settings(libraryDependencies ++= Dependencies.dseTestDependencies)
lazy val docs = project
.enablePlugins(ParadoxPlugin, PekkoParadoxPlugin, ParadoxSitePlugin,
PreprocessPlugin)
+ .disablePlugins(MimaPlugin)
.dependsOn(core)
.settings(
name := "Apache Pekko Persistence Cassandra",
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 4e39043..aa057a4 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -17,6 +17,7 @@ addSbtPlugin("com.typesafe.sbt" % "sbt-multi-jvm" % "0.4.0")
addSbtPlugin("com.dwijnand" % "sbt-dynver" % "4.1.1")
addSbtPlugin("org.mdedetrich" % "sbt-apache-sonatype" % "0.1.10")
addSbtPlugin("com.github.pjfanning" % "sbt-source-dist" % "0.1.11")
+addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.1.3")
// Documentation
addSbtPlugin("com.github.sbt" % "sbt-unidoc" % "0.5.0")
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]