Fixing Detection of Unpinned Dependencies for DDEV Validate DEP #23584
Fixing Detection of Unpinned Dependencies for DDEV Validate DEP #23584ddog-nasirthomas wants to merge 8 commits intomasterfrom
Conversation
🎉 All green!❄️ No new flaky tests detected 🎯 Code Coverage (details) 🔗 Commit SHA: 7a7e1fd | Docs | Datadog PR Page | Give us feedback! |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 009ff5a2da
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| agent_dependencies_file = get_agent_requirements() | ||
| annotate_errors(agent_dependencies_file, agent_errors) | ||
| ctx = click.get_current_context() | ||
| repo_core = ctx.obj.repo.name == 'core' |
There was a problem hiding this comment.
Detect core mode from CLI repo choice, not repo object name
Compute repo_core from ctx.obj.repo.name misclassifies ddev -x runs inside integrations-core as non-core, because Application.set_repo(..., here=True) sets the repo name to local; this silently disables pinning and agent-sync validations that should still run for core checkouts. It can also break the legacy standalone CLI path where ctx.obj is a dict (tooling/cli.py), not an object with .repo, causing an attribute error instead of validating dependencies.
Useful? React with 👍 / 👎.
|
This PR does not modify any files shipped with the agent. To help streamline the release process, please consider adding the |
Validation ReportAll 20 validations passed. Show details
|
What does this PR do?
Fixes ddev validate dep so unpinned dependencies are not flagged for integrations-extras and marketplace repos as errors. Unpinned dependencies should only be flagged for integrations-core.
An example of a dependency that got flagged before as unpinned for the marketplace repo:
[project.optional-dependencies]
deps = [
"azure-storage-blob>=12.14.1",
"google-cloud-storage>=2.7.0",
"boto3",
"botocore",
"paramiko",
"PySocks",
]
In integrations-extras and marketplace, integrations are distributed/managed differently, and many deps (especially optional ones) are not expected to be frozen into Agent requirements.
Motivation
AI-6341
Review checklist (to be filled by reviewers)
qa/skip-qalabel if the PR doesn't need to be tested during QA.backport/<branch-name>label to the PR and it will automatically open a backport PR once this one is merged