adityamparikh opened a new pull request, #173: URL: https://github.com/apache/solr-mcp/pull/173
# Summary The two `native Docker image + integration` jobs in `native.yml` fail on every branch and PR (e.g. [PR #159's run](https://github.com/apache/solr-mcp/actions/runs/29925649186)) with: ``` ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageName=solr-mcp:1.0.0-SNAPSHOT, ...) ``` The Paketo native build tags its image `solr-mcp:<version>-native-stdio` / `-native-http`, but all three Docker integration tests resolve the plain `solr-mcp:<version>` tag, which the native path never produces. The MCP stdio protocol test's `docker run` subprocess exits immediately on the missing image, surfacing as a 20s `initialize()` timeout instead. # Root cause PR #139 removed the caller-side `+ System.getProperty("solr.mcp.docker.image.tag.suffix")` concatenation from the three test classes on the premise that `BuildInfoReader.getDockerImageName()` "already appends the same system property internally" — but it never did (it was just `String.format("%s:%s", artifact, version)`). The suffix stopped being applied at all, even though `build.gradle.kts` still sets `solr.mcp.docker.image.tag.suffix` for `dockerIntegrationTest -Pnative` and the test Javadoc still documents it as applied. # Changes - `BuildInfoReader.getDockerImageName()` now appends the `solr.mcp.docker.image.tag.suffix` system property (default `""`), so the suffix is applied exactly once, matching #139's documented intent. The JVM (Jib) path is unchanged: the property is unset there, so the tag stays `solr-mcp:<version>`. - Add the containerization tests and `BuildInfoReader` to `native.yml`'s trigger paths so future changes to the native validation suite re-run the native matrix. # Verification (local, macOS arm64) - `./gradlew spotlessCheck build` passes (unit + integration tests; the JVM path resolves the same tag as before). - End-to-end with companion PR https://github.com/apache/solr-mcp/pull/172 applied: `bootBuildImage -Pnative` + `dockerIntegrationTest -Pnative` → tests resolve `solr-mcp:1.0.0-SNAPSHOT-native-stdio` and pass: `DockerImageMcpClientStdioIntegrationTest` (39 tests, full MCP JSON-RPC workflow) and `DockerImageStdioIntegrationTest` (4 tests). The http leg as well: `dockerIntegrationTest -Pnative -Pprofile=http` → `DockerImageHttpIntegrationTest` (6 tests) passes against `solr-mcp:1.0.0-SNAPSHOT-native-http`. # Merge order This fixes the *image resolution* failure. With the tag fixed, the docker tests reach the actual native binary — which then needs the `DefaultMetaProvider` reflection hint from companion PR https://github.com/apache/solr-mcp/pull/172 (the `resourceSpecs` bean is part of the real application context). Suggest merging the companion first, then this PR turns the native matrix fully green. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
