Skip to content

Conversation

@ddelnano
Copy link
Member

Summary: Reduce boiler plate for Go container image C++ headers

Previously, adding a new Go version required:

  1. Creating new header files for each container type (grpc_server, grpc_client, tls_server, tls_client)
  2. Adding BUILD.bazel entries for each new library
  3. Updating test files with new #include statements

These header files account for ~100-200 lines of boilerplate code per Go version (~50 lines for each grpc and tls client/server pair) and add overhead when upgrading our Go version.

This PR reduces this boilerplate by generating these files with a new Bazel macro go_container_libraries. This macro generates:

  • Individual C++ headers for each version (e.g., go_1_24_grpc_server_container.h)
  • Aggregate headers that include all versions for a given container type (e.g., go_grpc_server_containers.h, go_tls_client_containers.h)

Relevant Issues: N/A

Type of change: /kind cleanup

Test Plan: Build should succeed

Signed-off-by: Dom Del Nano <[email protected]>
(cherry picked from commit 056e62fc42cb26d18b8a91d2ab496c0656058044)
@ddelnano ddelnano marked this pull request as ready for review December 22, 2025 19:29
@ddelnano ddelnano requested review from a team as code owners December 22, 2025 19:29
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