This is an automated email from the ASF dual-hosted git repository.

raboof pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko-grpc.git


The following commit(s) were added to refs/heads/main by this push:
     new 5d1e773a Run the MiMa check for every library Scala version. (#908)
5d1e773a is described below

commit 5d1e773a481a0bedb30a11359180d6b6064518b9
Author: PJ Fanning <[email protected]>
AuthorDate: Wed Oct 7 12:12:04 2026 +0100

    Run the MiMa check for every library Scala version. (#908)
    
    Motivation:
    The CI binary-compatibility step runs mimaReportBinaryIssues, which
    only checks the default Scala version (2.13). Scala 3 case classes have
    positional accessors (_1, _2, ...) that Scala 2.13 ones don't, so
    changing a case class can break Scala 3 binary compatibility and still
    pass CI. The documented `sbt +mimaReportBinaryIssues` command doesn't
    work either: the Scala 2.12 plugin projects don't define the task.
    
    Modification:
    Run `+runtime/mimaReportBinaryIssues` in CI, and give that command in
    AGENTS.md, CLAUDE.md and CONTRIBUTING.md. runtime is the only project
    with MiMa enabled.
    
    Result:
    CI checks binary compatibility on Scala 2.13 and Scala 3.
    
    Tests:
    - sbt grpcVersionSyncCheck googleProtobufVersionSyncCheck 
+runtime/mimaReportBinaryIssues on main: passed (2.13.18 and 3.3.8)
    - sbt +runtime/mimaReportBinaryIssues with commit ee37b1fb from #905 
applied to main: fails with 4 Scala 3 problems that the current CI check misses
    - sbt +mimaReportBinaryIssues on main: fails with "No such setting/task" 
for the Scala 2.12 projects
    
    References:
    Refs #905
    
    Co-authored-by: PJ Fanning <[email protected]>
---
 .github/workflows/build-test.yml | 2 +-
 AGENTS.md                        | 2 +-
 CLAUDE.md                        | 2 +-
 CONTRIBUTING.md                  | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml
index bcf6987b..98238065 100644
--- a/.github/workflows/build-test.yml
+++ b/.github/workflows/build-test.yml
@@ -50,7 +50,7 @@ jobs:
       - name: Binary-compatibility check
         run: |-
           cp .jvmopts-ci .jvmopts
-          sbt grpcVersionSyncCheck googleProtobufVersionSyncCheck 
mimaReportBinaryIssues
+          sbt grpcVersionSyncCheck googleProtobufVersionSyncCheck 
+runtime/mimaReportBinaryIssues
 
       - name: Assembly license check
         run: |-
diff --git a/AGENTS.md b/AGENTS.md
index d630b198..1044cb5c 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -143,7 +143,7 @@ PR_TARGET_BRANCH=origin/example sbt validatePullRequest
 - Run MiMa for public API, binary shape, serialization, or MiMa-sensitive 
internal changes.
 
 ```shell
-sbt +mimaReportBinaryIssues
+sbt +runtime/mimaReportBinaryIssues
 ```
 
 - Current MiMa baseline is 1.0.2.
diff --git a/CLAUDE.md b/CLAUDE.md
index 1396dae3..7697bc47 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -14,7 +14,7 @@ Before opening or updating a PR, verify:
 - `sbt headerCreateAll` was run to add headers for new files. Never hand-write 
or invent license headers; let sbt manage them, and preserve existing copyright 
notices intact.
 - For copied code, the source file or external project is noted in the PR (see 
Licensing Rules in `AGENTS.md`).
 - Binary compatibility is preserved, and the GitHub `Check / Binary 
Compatibility` job passes before merge.
-- `sbt +mimaReportBinaryIssues` was run for public API, binary shape, or 
MiMa-sensitive internal changes, and ALL reported issues were fixed before 
creating or updating the PR.
+- `sbt +runtime/mimaReportBinaryIssues` was run for public API, binary shape, 
or MiMa-sensitive internal changes, and ALL reported issues were fixed before 
creating or updating the PR.
 - Commit messages follow the `AGENTS.md` format.
 - PR bodies follow the `AGENTS.md` format.
 - `Tests` and `References` are present.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 95e8cd8c..cfd94a59 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -110,7 +110,7 @@ indeed break binary compatibility in a problematic way.  
Situations when it may
 
 If it turns out that the change can be safely ignored, please add the filter 
to a new file in the submodule's 
`src/main/mima-filters/<last-released-version>.backwards.excludes` directory.
 
-You can run `mimaReportBinaryIssues` on the sbt console to check if you 
introduced a binary incompatibility or whether an
+You can run `+runtime/mimaReportBinaryIssues` on the sbt console to check if 
you introduced a binary incompatibility or whether an
 incompatibility has been successfully ignored after adding it to the filter 
file.
 
 ### Generated code


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to