Skip to content

Conversation

@Tofel
Copy link
Contributor

@Tofel Tofel commented Oct 22, 2025

This pull request enhances the health check capabilities for the Job Distributor (JD) component by introducing a new gRPC health check strategy and updating the CI pipeline to test JD startup using private container images. It also refactors the JD test to reside in the examples directory, improves port management in JD startup logic, and updates dependencies for gRPC support.

JD Health Check Improvements

  • Added a new GRPCHealthStrategy in grpc_wait_strategy.go to perform robust gRPC health checks on the JD container during startup. This strategy uses the standard gRPC health protocol and supports configurable timeouts and polling intervals.
  • Updated the JD startup logic in jd.go to expose both the main gRPC port and a separate health check port, and to use the new gRPC health check strategy as part of the container's wait conditions. Also added a check to prevent port conflicts between WSRPC and its health endpoint. [1] [2] [3] [4] [5]

CI Pipeline Enhancements

  • Added a new GitHub Actions workflow (framework-golden-tests-private.yml) to run JD tests that require access to private container registries, including AWS ECR authentication and log upload.
  • Updated comments in the public test workflow to clarify that tests requiring special authentication should be moved to the new private workflow.

Test Refactoring

  • Moved the JD startup test from components/jd/jd_test.go to examples/myproject/jd_test.go, renamed the test for clarity, and added a random CSA encryption key for improved test isolation.

Dependency Updates

  • Updated go.mod files to include or bump the google.golang.org/grpc dependency, ensuring compatibility with new health check functionality. [1] [2] [3]

Documentation

  • Added a changeset entry to document the enhancement of JD health checks and the addition of a CI test for them.

@Tofel Tofel force-pushed the jd-better-health-check branch from b3ff450 to 7ef6f0b Compare October 22, 2025 14:55
@Tofel Tofel marked this pull request as ready for review October 22, 2025 18:00
@Tofel Tofel requested a review from a team as a code owner October 22, 2025 18:00
@sebawo sebawo requested a review from Copilot October 28, 2025 13:29
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances the JD (Job Distributor) component by implementing more robust health checks, including a new gRPC health check strategy and an HTTP health check. It also introduces a separate CI workflow for tests that require access to private container registries.

  • Implements a custom gRPC health check wait strategy for the JD component
  • Adds HTTP health check on a dedicated health port (8081)
  • Creates a new private workflow for tests requiring AWS ECR authentication

Reviewed Changes

Copilot reviewed 8 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
framework/go.mod Moved google.golang.org/grpc from indirect to direct dependency
framework/examples/myproject_cll/go.mod Added google.golang.org/genproto/googleapis/rpc indirect dependency
framework/examples/myproject/jd_test.go Renamed and restructured test to support private registry testing
framework/components/jd/jd.go Added WSRPCHealthPort constant, validation, and dual health check strategies
framework/components/jd/grpc_wait_strategy.go Implemented custom gRPC health check wait strategy using testcontainers
framework/.changeset/v0.11.3.md Added changeset documenting the health check enhancements
.github/workflows/framework-golden-tests.yml Updated comment to reference new private workflow
.github/workflows/framework-golden-tests-private.yml Created new workflow for tests requiring private registry access

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Tofel Tofel merged commit bf1e79f into main Oct 28, 2025
70 of 72 checks passed
@Tofel Tofel deleted the jd-better-health-check branch October 28, 2025 16:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants