Repository navigation
Patch uv.lock and add it to Dependabot - #327
Merged
Merged
Conversation
The config covered GitHub Actions only, so nothing kept uv.lock current and advisories against it went unaddressed. The new entry opens one grouped pull request a month for the lock. Its 7-day cooldown holds back releases under a week old; security updates are not subject to it. The dependabot.yml schema lists uv outside its beta ecosystems, and the file validates against that schema.
The extra installs Pillow and CairoSVG, which only Material's social and optimize plugins use, and the docs enable neither. It added nine packages to the lock and 42 of its open security advisories. The site builds byte-identical without it.
Clears the remaining Dependabot advisories against uv.lock: anyio, black, certifi, filelock, mkdocs-material, opentelemetry-api, urllib3 and virtualenv. Only these were allowed to move, plus what they pull along: the OpenTelemetry API and SDK move together to 1.45.1, with the contrib packages at 0.66b1. The declared ranges already admit every patched version, so nothing held users back. This brings the environment CI tests against up to what a fresh install resolves.
The log-bridge tests that attach the OpenTelemetry SDK's own LoggingHandler do it on purpose, to model an application that still uses it, and every run printed the SDK's deprecation warning for it. They now declare that warning as expected, so a new deprecation stands out in the summary. install_log_bridge's own path still runs with warnings as errors.
There was a problem hiding this comment.
🟢 Approval recommended
The scoped dependency and configuration changes have no identified blocking defects, and the reported validation covers compatibility, documentation builds, and warning handling.
No open issues 🎉
What changed in this PR
This PR updates OpenArmature’s locked development, documentation, and CI dependencies and adds ongoing Dependabot maintenance without changing the package’s runtime dependency ranges.
Changes:
- Adds monthly grouped uv updates with a seven-day cooldown for version updates.
- Removes the unused Material imaging extra and upgrades advisory-affected packages, including the OpenTelemetry stack.
- Filters the SDK handler’s deprecation warning in five tests that intentionally use it.
| File | Description |
|---|---|
uv.lock |
Updates targeted dependencies and removes unused imaging dependencies. |
tests/unit/test_observability_otel.py |
Adds narrowly scoped deprecation-warning filters. |
pyproject.toml |
Removes the unused mkdocs-material imaging extra. |
.github/dependabot.yml |
Adds grouped monthly uv dependency updates. |
Review effort: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dependabot covered GitHub Actions only, so nothing kept
uv.lockcurrent and advisories against it went unaddressed. The lock pins only this repository's development, docs and CI environment; installs of the package never read it. The package's own dependency ranges do not change, and none of them excludes a patched version. Four commits.Add uv to the Dependabot config. A
uventry: monthly, onepython-packagesgroup, a 7-day cooldown, and the same commit prefix as the Actions entry. The cooldown holds back version updates only, never security updates. SchemaStore'sdependabot.ymlschema listsuvoutside its beta ecosystems, and the file validates against it.Drop the unused mkdocs-material imaging extra.
[imaging]installs Pillow and CairoSVG, which only Material'ssocialandoptimizeplugins use, andmkdocs.ymlenables neither. Dropping it removes nine packages from the lock and most of its advisories.Upgrade locked packages with open advisories.
uv lock --upgrade-packagefor the other eight alerted packages (anyio, black, certifi, filelock, mkdocs-material, opentelemetry-api, urllib3 and virtualenv) and what they pull along. The OpenTelemetry API, SDK and exporters move together to 1.45.1, and the instrumentation and semantic-conventions packages to 0.66b1. That addsopentelemetry-exporter-http-transportandopentelemetry-exporter-otlp-commonto the lock and dropsimportlib-metadataandzipp. The rest of the lock stays where it was on purpose, so the new entry's first run has something to open.Expect the SDK log handler's deprecation in tests. The OpenTelemetry SDK deprecates its own
LoggingHandler, andinstall_log_bridgealready uses the replacement fromopentelemetry-instrumentation-logging. Five log-bridge tests attach the SDK's handler on purpose, since the bridge has to detect a handler that an application attached itself, and each printed the deprecation warning. They now mark that warning as expected.test_install_log_bridge_is_idempotentstill runs the bridge's own path with warnings as errors.Testing:
[imaging]. On mkdocs-material 9.8.0 it differs from main's build only in lines Material generates itself: its version tag, asset links and runtime config.src/and in the HyperDX integration test resolves against the new lock.uv-lockhook leaves the lock unchanged.dependabot-2.0.json, and a misspelt key undercooldownfails the same check.Not testable before merge: whether Dependabot opens PRs from the new entry. Its first run after merge is that check.