oss_28_fix_sphinx_docs_build - #46
Conversation
The docs build installs a modern protobuf (5.x) but the zipkin-proto-http exporter ships protobuf code generated for the old runtime. Under the C++ protobuf implementation that code raises "Descriptors cannot be created directly", so autodoc silently skips the module and the -W build fails. Force the pure-Python protobuf implementation in docs/conf.py via os.environ.setdefault so the module is importable for autodoc regardless of how sphinx-build is invoked (including the Read the Docs path, which does not go through tox). The opencensus exporter documentation page rendered zero objects because opentelemetry-exporter-opencensus was not installed for the docs build (only the shim was). Add it to docs-requirements.txt and document its trace_exporter submodule in the rst so the OpenCensusSpanExporter API is rendered. Its protobuf pin (~= 3.13) conflicted with opentelemetry-proto (>= 5.0) and made the docs install unresolvable, so widen it to >= 3.13, < 8.0; the exporter imports and runs correctly under protobuf 5.
|
🔒 Internal (dash0) — not for upstream.
|
|
📣 Public-facing draft — to be used for the upstream PR in Title: Fix broken Sphinx docs build for zipkin proto and opencensus exporters WhatFix the documentation build so Why
How
How verifiedRan |
|
This PR has been automatically marked as stale because it has not had any activity for 14 days. It will be closed if no further activity occurs within 14 days of this comment. |
Closes #39
Fix the broken Sphinx -W docs build (Linear OSS-28, D1/D2): force pure-Python protobuf in docs/conf.py so the zipkin generated pb2 module autodocs under modern protobuf (D1); add opentelemetry-exporter-opencensus to docs-requirements + document its trace_exporter submodule + widen its protobuf constraint (>=3.13,<8.0) so the docs install resolves (D2).
Validation: verified via a real
sphinx-build -E -a -Wrun — exits 0; zipkin proto module documented; opencensus page renders 6 objects (was 0). Scope: docs/ + docs-requirements + opencensus pyproject + changelog.Linear issue: https://linear.app/dash0/issue/OSS-28/d1-d2-fix-broken-sphinx-docs-build-zipkin-protobuf-conflict-opencensus