chore: silence otelsdk warnings across build paths #105

Merged
pat-s merged 1 commit from chore/silence-otel-warnings into main 2026-06-30 12:41:33 +00:00
Owner

Summary

Silences the recurring OpenTelemetry error: there is no package called 'otelsdk' warnings during builds.

Root cause

The build-env-* images configure an OTel exporter (traces/logs/metrics), but otelsdk (the R OTel SDK backend) isn't installed. pak's otel instrumentation therefore tries to load otelsdk on every run and logs the error, falling back to a no-op.

OTEL_SDK_DISABLED=true (already set in build-one.Dockerfile) does not help — the R otel package ignores it and gates purely on OTEL_R_<SIGNAL>_EXPORTER (then the standard OTEL_<SIGNAL>_EXPORTER). When that resolves to a real exporter (otlp/http/…) with no SDK present, you get the error.

Fix

Set OTEL_R_TRACES_EXPORTER, OTEL_R_LOGS_EXPORTER, and OTEL_R_METRICS_EXPORTER to none so the R otel providers are clean no-ops:

  • docker/build-one.Dockerfile — exported alongside the existing OTel var.
  • .crow/process-updates.yaml, weekly-rebuild-missing.yaml, build-all-versions.yaml, build-all-versions-install-deps.yaml — added to each step's environment block.

Using the R-specific variables (not the standard OTEL_*_EXPORTER) keeps OTel intact for any non-R tooling in the images.

## Summary Silences the recurring `OpenTelemetry error: there is no package called 'otelsdk'` warnings during builds. ## Root cause The `build-env-*` images configure an OTel exporter (traces/logs/metrics), but `otelsdk` (the R OTel SDK backend) isn't installed. pak's `otel` instrumentation therefore tries to load `otelsdk` on every run and logs the error, falling back to a no-op. `OTEL_SDK_DISABLED=true` (already set in `build-one.Dockerfile`) does **not** help — the R `otel` package ignores it and gates purely on `OTEL_R_<SIGNAL>_EXPORTER` (then the standard `OTEL_<SIGNAL>_EXPORTER`). When that resolves to a real exporter (`otlp`/`http`/…) with no SDK present, you get the error. ## Fix Set `OTEL_R_TRACES_EXPORTER`, `OTEL_R_LOGS_EXPORTER`, and `OTEL_R_METRICS_EXPORTER` to `none` so the R otel providers are clean no-ops: - `docker/build-one.Dockerfile` — exported alongside the existing OTel var. - `.crow/process-updates.yaml`, `weekly-rebuild-missing.yaml`, `build-all-versions.yaml`, `build-all-versions-install-deps.yaml` — added to each step's `environment` block. Using the R-specific variables (not the standard `OTEL_*_EXPORTER`) keeps OTel intact for any non-R tooling in the images.
The build-env images configure an OTel exporter, but otelsdk isn't installed,
so pak's otel instrumentation logs 'no package called otelsdk' on every run.
OTEL_SDK_DISABLED is ignored by the R otel package; it gates on
OTEL_R_<SIGNAL>_EXPORTER. Set traces/logs/metrics to 'none' in build-one and
every .crow build workflow so the R otel providers are clean no-ops, without
disabling OTel for any non-R tooling.
pat-s merged commit b93d1ef6bd into main 2026-06-30 12:41:33 +00:00
pat-s deleted branch chore/silence-otel-warnings 2026-06-30 12:41:33 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
devxy/build-cran-binaries!105
No description provided.