From d9b3ad84a5e92a92f542608921cf0d3deff15917 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andr=C3=A9n?= Date: Thu, 15 Jan 2026 12:52:59 +0100 Subject: [PATCH 1/3] chore: Native image reflection entry for new PubSubAck message --- .../akka-projection-grpc/reflect-config.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/akka-projection-grpc/src/main/resources/META-INF/native-image/com.lightbend.akka/akka-projection-grpc/reflect-config.json b/akka-projection-grpc/src/main/resources/META-INF/native-image/com.lightbend.akka/akka-projection-grpc/reflect-config.json index 0ed3acfd1..622cef936 100644 --- a/akka-projection-grpc/src/main/resources/META-INF/native-image/com.lightbend.akka/akka-projection-grpc/reflect-config.json +++ b/akka-projection-grpc/src/main/resources/META-INF/native-image/com.lightbend.akka/akka-projection-grpc/reflect-config.json @@ -54,5 +54,11 @@ "typeReachable": "akka.cluster.ddata.typed.scaladsl.DistributedData" }, "name": "akka.cluster.ddata.typed.scaladsl.DistributedData" + }, + { + "condition": { + "typeReachable": "akka.cluster.ddata.typed.scaladsl.DistributedData" + }, + "name": "akka.projection.grpc.internal.ConsumerFilterRegistry$PubSubAck" } ] \ No newline at end of file From b918c541278698bef3978517b4d27e6706335439 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andr=C3=A9n?= Date: Thu, 15 Jan 2026 13:09:33 +0100 Subject: [PATCH 2/3] how did this ever work without publis local?! --- .github/workflows/native-image-tests.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/native-image-tests.yml b/.github/workflows/native-image-tests.yml index 3cc387d0f..87cd2118f 100644 --- a/.github/workflows/native-image-tests.yml +++ b/.github/workflows/native-image-tests.yml @@ -39,6 +39,17 @@ jobs: with: jvm: graalvm-community:21.0.2 + - name: Gather version + # some cleanup of the sbt output to get the version sbt will use when publishing below + run: |- + sbt --no-colors "print akka-projection-core/version" | tail -n 1 | tr -d '\n' > ~/.version + echo [$(cat ~/.version)] + # useful for debugging: hexdump -c ~/.version + + - name: Publish artifacts locally + run: |- + sbt "set ThisBuild/Compile/packageDoc/publishArtifact := false; +publishLocal; publishM2" -Dakka.no.discipline=true + - name: "Build and test Scala Native Image" run: | cd samples/grpc/local-drone-control-scala From 1d4949a9684a486b8a382c5fd259acac2e6983b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andr=C3=A9n?= Date: Thu, 15 Jan 2026 13:27:50 +0100 Subject: [PATCH 3/3] more reasonable typeReachable condition --- .../com.lightbend.akka/akka-projection-grpc/reflect-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/akka-projection-grpc/src/main/resources/META-INF/native-image/com.lightbend.akka/akka-projection-grpc/reflect-config.json b/akka-projection-grpc/src/main/resources/META-INF/native-image/com.lightbend.akka/akka-projection-grpc/reflect-config.json index 622cef936..4867da5a0 100644 --- a/akka-projection-grpc/src/main/resources/META-INF/native-image/com.lightbend.akka/akka-projection-grpc/reflect-config.json +++ b/akka-projection-grpc/src/main/resources/META-INF/native-image/com.lightbend.akka/akka-projection-grpc/reflect-config.json @@ -57,7 +57,7 @@ }, { "condition": { - "typeReachable": "akka.cluster.ddata.typed.scaladsl.DistributedData" + "typeReachable": "akka.projection.grpc.internal.ConsumerFilterRegistry" }, "name": "akka.projection.grpc.internal.ConsumerFilterRegistry$PubSubAck" }