Skip to content

[FEATURE] Add a CI check to ensure proto SNAPSHOT jars do not break core #27

@karenyrx

Description

@karenyrx

Is your feature request related to a problem?

Since snapshots are published on every commit to main, we should ensure the jar does not break existing functionality in core.

It would be ideal to check this before allowing PR to be merged (and definitely before publishing to Maven).

What solution would you like?

The CI could do something like the following:

  1. Git checkout core repo
  2. Run package_proto_jar.sh to generate a jar from the PR and install it to local maven repo on core
mvn install:install-file -Dfile=opensearch-protobufs-1.0.0.jar -DgroupId=org.opensearch.protobufs -DartifactId=opensearch-protobufs -Dversion=1.0.0 -Dpackaging=jar
  1. Run ./gradlew run -PinstalledPlugins="['transport-grpc']" -Dtests.opensearch.aux.transport.types="[experimental-transport-grpc]" -Drepos.mavenLocal to compile+run the transport-grpc plugin in Core, using the local maven repo, and ensure it succeeds. Maybe trigger a GRPC integration test run to be sure.

We may want to make the CI non-blocking though, since this repo is still under development and breaking changes could be possible. Eventually it will be made blocking once GRPC/protos are stable.

What alternatives have you considered?

Open to other implementation methods

Do you have any additional context?

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions