Skip to content

chore(deps): bump opentelemetry-sdk from 1.41.1 to 1.44.0 - #116

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/opentelemetry-sdk-1.44.0
Closed

chore(deps): bump opentelemetry-sdk from 1.41.1 to 1.44.0#116
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/opentelemetry-sdk-1.44.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 5, 2026

Copy link
Copy Markdown
Contributor

Bumps opentelemetry-sdk from 1.41.1 to 1.44.0.

Changelog

Sourced from opentelemetry-sdk's changelog.

Version 1.44.0/0.65b0 (2026-07-16)

Added

  • opentelemetry-docker-tests: Refactor Docker tests to properly validate contents of exported telemetry (#5220)
  • opentelemetry-exporter-otlp-common: add shared package for common OTLP utilities (#5252)
  • opentelemetry-sdk: add MissingDependencyError exception for declarative configuration and use it for missing optional dependency errors (#5265)
  • opentelemetry-sdk: Add ability to refresh process dependent Resource attributes (#5280)
  • opentelemetry-sdk: add force_flush method to LogRecordExporter ABC (#5294)
  • opentelemetry-sdk: Make it possible to limit the size of stored spans in InMemorySpanExporter (#5296)
  • opentelemetry-sdk: add log record limits environment variables OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT and OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT (#5300)
  • opentelemetry-sdk: add support for file exporter with declarative config (#5311)
  • opentelemetry-sdk: expose SynchronousMultiLogRecordProcessor and ConcurrentMultiLogRecordProcessor publicly (#5327)
  • opentelemetry-sdk: point the declarative configuration package README at the shared language support status matrix in the opentelemetry-configuration repo, so Python conformance status lives alongside the other languages instead of being duplicated per language SDK. (#5347)
  • opentelemetry-sdk: document that Python-implementation extensions (OTEL_PYTHON_* variables) are bypassed when OTEL_CONFIG_FILE is set. The env-var initialisation path is skipped entirely in favour of the declarative file; honouring these alongside a config file is tracked as a follow-up. (#5353)
  • opentelemetry-sdk: wire id_generator from declarative configuration to TracerProvider (#5363)
  • opentelemetry-sdk: Add support for activating instrumentors from a declarative configuration file via the instrumentation/development.python section. Instrumentors can declare a configuration attribute to have their options validated through the same type-coercion pipeline used for SDK component configuration. (#5372)

... (truncated)

Commits
  • 53a5a40 Prepare release 1.44.0/0.65b0 (#5422)
  • d9f34e7 Fixup eachdist.py handling of package names (#5417)
  • d10f472 opentelemetry-semantic-conventions: Bump to 1.43.0 (#5413)
  • ae8feeb Update otelbot token workflows to use client IDs (#5404)
  • 67a2abd Fix Context in-place mutability bypass via inherited dict methods (#5399)
  • 87baad9 Bump semconv to 1.42.0 (#5410)
  • 23dc0b2 opentelemetry-sdk: add 'force_flush' method to LogRecordExporter ABC (#5294)
  • bec55fd opentelemetry-sdk: expose SynchronousMultiLogRecordProcessor and ConcurrentMu...
  • 55d0b7a opentelemetry-sdk: Add ability to refresh process sensitive Resource attribut...
  • 6115db2 opentelemetry-sdk: add log record limits environment variables (#5300)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) from 1.41.1 to 1.44.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.41.1...v1.44.0)

---
updated-dependencies:
- dependency-name: opentelemetry-sdk
  dependency-version: 1.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Aug 5, 2026
@dgokeeffe

Copy link
Copy Markdown
Collaborator

Closing: this makes requirements.txt unsatisfiable, so every deploy would fail.

Because opentelemetry-sdk>=1.44.0 depends on
opentelemetry-semantic-conventions==0.65b0 and you require
opentelemetry-sdk==1.44.0, we can conclude that you require
opentelemetry-semantic-conventions==0.65b0.
And because you require opentelemetry-semantic-conventions==0.62b1, we
can conclude that your requirements are unsatisfiable.

opentelemetry-sdk pins opentelemetry-semantic-conventions to an exact matching version, and this PR bumped only the former. Same class as #84 (which broke main) and #115: requirements.txt is compiled, so a single-pin edit can leave it unresolvable — and GitHub still reports it MERGEABLE.

The OTel packages have to move as a set, via uv pip compile, not one pin at a time.

@dgokeeffe dgokeeffe closed this Aug 5, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dgokeeffe
dgokeeffe deleted the dependabot/pip/opentelemetry-sdk-1.44.0 branch August 5, 2026 09:25
dgokeeffe added a commit that referenced this pull request Aug 5, 2026
#120)

CI has never run the test suite on this repo. The Tests workflow has exactly one
run in its history — a manual workflow_dispatch in May — and that run has zero
jobs. Dependency Audit and Update Lockfile have never produced a run at all.

Cause: all three target `databrickslabs-protected-runner-group`. That group is
granted per-repo across the org (ucx, dqx, dlt-meta and others use it
successfully) and this repo was never granted it, so jobs targeting it are
never scheduled — silently, with no failure anywhere to notice.

Consequences already observed:

- #84 bumped pydantic-core to 2.47.0 while pydantic==2.13.4 pins
  pydantic-core==2.46.4 exactly. requirements.txt became unsatisfiable, so
  every Databricks Apps deploy from main failed until #110 repaired it. GitHub
  reported the PR MERGEABLE; nothing installed requirements.txt.
- #115 and #116 were the same failure and were caught only by resolving them
  by hand.
- requirements.lock had drifted from requirements.txt, because Update Lockfile
  never ran. Regenerated here.

## Runners

test.yml, dependency-audit.yml and update-lockfile.yml move to ubuntu-latest.
None of them need org secrets — the first two are read-only, and the third uses
only the repo-scoped GITHUB_TOKEN. GitHub-hosted runners are free for public
repos. release.yml is left on the protected group: it signs release artifacts,
so it deserves a deliberate decision rather than a drive-by change (it also
means releases stay blocked until the repo is granted the group — noted in the
PR).

## New gates, each tied to a failure that actually happened

1. requirements.txt must be installable — catches the #84/#115/#116 class.
2. requirements.lock must match requirements.txt — catches the drift above.
3. App modules must import — 13 modules whose failure takes the app down at
   boot, most with no direct unit test.
4. A floor on tests that actually ran — a suite reporting "all skipped" passes
   vacuously, which is exactly what #106 fixed (465 skipped).

## Two bugs found while verifying the workflow locally

- tests/e2e/conftest.py raised an uncaught FileNotFoundError when the
  databricks CLI is absent. That surfaces as a pytest INTERNALERROR which kills
  the entire session — so this workflow would have failed on its first run on a
  hosted runner, where the CLI isn't installed. A missing CLI is now treated as
  "prerequisite absent" and skips.
- tests/integration is excluded from the PR gate. It gates on Docker, and
  Docker *is* present on ubuntu-latest, so it would really run: building an
  apps-like image and executing the full setup pipeline. Confirmed locally that
  including it produces failures. It stays runnable on demand.

## Verification

Every step was run locally, including with PATH stripped of the databricks CLI
to simulate a hosted runner: 535 passed, 3 skipped. Each of the four gates was
then confirmed to fail when its bug is reintroduced — the #84 pin, a truncated
lockfile, and the #106 whole-session skip.
dgokeeffe added a commit that referenced this pull request Aug 5, 2026
#120)

CI has never run the test suite on this repo. The Tests workflow has exactly one
run in its history — a manual workflow_dispatch in May — and that run has zero
jobs. Dependency Audit and Update Lockfile have never produced a run at all.

Cause: all three target `databrickslabs-protected-runner-group`. That group is
granted per-repo across the org (ucx, dqx, dlt-meta and others use it
successfully) and this repo was never granted it, so jobs targeting it are
never scheduled — silently, with no failure anywhere to notice.

Consequences already observed:

- #84 bumped pydantic-core to 2.47.0 while pydantic==2.13.4 pins
  pydantic-core==2.46.4 exactly. requirements.txt became unsatisfiable, so
  every Databricks Apps deploy from main failed until #110 repaired it. GitHub
  reported the PR MERGEABLE; nothing installed requirements.txt.
- #115 and #116 were the same failure and were caught only by resolving them
  by hand.
- requirements.lock had drifted from requirements.txt, because Update Lockfile
  never ran. Regenerated here.

## Runners

test.yml, dependency-audit.yml and update-lockfile.yml move to ubuntu-latest.
None of them need org secrets — the first two are read-only, and the third uses
only the repo-scoped GITHUB_TOKEN. GitHub-hosted runners are free for public
repos. release.yml is left on the protected group: it signs release artifacts,
so it deserves a deliberate decision rather than a drive-by change (it also
means releases stay blocked until the repo is granted the group — noted in the
PR).

## New gates, each tied to a failure that actually happened

1. requirements.txt must be installable — catches the #84/#115/#116 class.
2. requirements.lock must match requirements.txt — catches the drift above.
3. App modules must import — 13 modules whose failure takes the app down at
   boot, most with no direct unit test.
4. A floor on tests that actually ran — a suite reporting "all skipped" passes
   vacuously, which is exactly what #106 fixed (465 skipped).

## Two bugs found while verifying the workflow locally

- tests/e2e/conftest.py raised an uncaught FileNotFoundError when the
  databricks CLI is absent. That surfaces as a pytest INTERNALERROR which kills
  the entire session — so this workflow would have failed on its first run on a
  hosted runner, where the CLI isn't installed. A missing CLI is now treated as
  "prerequisite absent" and skips.
- tests/integration is excluded from the PR gate. It gates on Docker, and
  Docker *is* present on ubuntu-latest, so it would really run: building an
  apps-like image and executing the full setup pipeline. Confirmed locally that
  including it produces failures. It stays runnable on demand.

## Verification

Every step was run locally, including with PATH stripped of the databricks CLI
to simulate a hosted runner: 535 passed, 3 skipped. Each of the four gates was
then confirmed to fail when its bug is reintroduced — the #84 pin, a truncated
lockfile, and the #106 whole-session skip.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant