Skip to content

grpcio-observability: Add version 1.83.1 - #2422

Merged
luhenry merged 2 commits into
mainfrom
grpcio-observability
Sep 28, 2026
Merged

luhenry merged 2 commits into
mainfrom
grpcio-observability

Conversation

@luhenry

@luhenry luhenry commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

Compiles gRPC Python's OpenTelemetry observability plugin (grpc_observability._cyobservability, Cython over vendored C++ call-tracer/metadata-exchange sources). Upstream publishes no riscv64 wheel.

Mirrors this repo's build-grpcio-tools.yml - same grpc/grpc source tree, same cibuildwheel/ccache/GRPC_PYTHON_BUILD_WITH_CYTHON pattern; upstream builds these internally via Bazel/Kokoro, not a public GH Actions workflow.

Differs from upstream

  • package-dir: src/python/grpcio_observability, since the package lives nested in the monorepo rather than at its root like grpcio.
  • Runs src/python/grpcio_observability/make_grpcio_observability.py before the build - stages the grpc_root/third_party sources upstream's own install_all_python_modules.sh also depends on, with the bazel-query step it also attempts failing non-fatally (falls back to the deps list already committed for this tag).

Matrix: cp312/cp313/cp314 only, same as build-grpcio.yml/build-grpcio-tools.yml - grpcio-observability shares python_version.py's supported range and declares no free-threaded support.

Testing

  • _open_telemetry_observability_test.py and _observability_plugin_test.py from upstream's own tests/observability suite, matching their BUILD.bazel deps (grpcio, grpc_observability, opentelemetry-sdk)
  • Skips _csm_observability_plugin_test.py/_observability_api_test.py from the same directory - both need grpcio_csm_observability, not ported here

License: OK

luhenry added a commit that referenced this pull request Sep 28, 2026
PR #2422 (grpcio-observability) and PR #2408 (imgui-bundle) are open,
draft, with CI running; their .queue.yml entries were never updated
after the PRs were opened.
grpc's shared tests/__init__.py unconditionally imports tests/_loader.py,
which imports coverage even for a plain pytest run, so the observability
tests failed to collect with ModuleNotFoundError. Add coverage to
CIBW_TEST_REQUIRES (matching upstream's own requirements.txt pin) and
scope CIBW_TEST_ENVIRONMENT's PIP_ONLY_BINARY to grpcio instead of :all:
so coverage's sdist-only riscv64 install isn't blocked (gotcha 488).
@github-actions

github-actions Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-09-28 12:53 UTC

@luhenry
luhenry marked this pull request as ready for review September 28, 2026 12:08
@luhenry
luhenry merged commit 1224e22 into main Sep 28, 2026
11 checks passed
@luhenry
luhenry deleted the grpcio-observability branch September 28, 2026 12:08
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.

1 participant