Adds a GHA workflow to check Spring Boot compatability of the framework.
The workflow exercises the samples and dynamically sets the version of
each samples Spring Boot plugin.
We do the dynamic version setting using the power of Gradle init scripts
and the fact that each of the samples is exposed as a Gradle module.
Doing this has a positive side effect that our samples are kept up to date
for both Maven and Gradle.
Reworks the Gradle aspect of the samples as follows:
- removes settings.xml in each sample in favor of root samples/setting.xml
- removes Gradle wrapper from each sample in favor of root samples/gradlew
- cleans up build.gradle (they were missing dependencies to work)
- adds README-GRADLE.md at samples/
Signed-off-by: Chris Bono <chris.bono@gmail.com>
The exception handler interceptor has to be called first so that
it can handle exceptions thrown by other interceptors. Tests up
to now didn't assert that (they focused on exceptions thrown
in services).
This commit improves the GrpcChannelFactory createChannel API by
introducing `ChannelBuilderOptions` that can be specified during
channel creation.
Additionally, concrete Netty channel factory implementations have
been added as well as adding type to the GrpcChannelBuilderCustomizer
which helps match customizers to channel factories.
This commit adds the implementation to the previously added skeleton
ActuatorHealthAdapter. On a configurable schedule, the adapter takes
a configured list of Actuator health indicators and gets their current
status and maps it into the gRPC HealthStatusManager.
See #56
Signed-off-by: Chris Bono <chris.bono@gmail.com>