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.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: RustPython/RustPython
Length of output: 1720
🌐 Web query:
Dependabot config: does thedirectoriesfield support glob patterns likecrates/*for Cargo workspaces, and is it recommended to list workspace member directories separately from the workspace root?💡 Result:
Yes, the directories field in Dependabot's dependabot.yml supports glob patterns like crates/* for Cargo workspaces. This feature was introduced in June 2024 and applies to the cargo package ecosystem. For Cargo workspaces, configuring directory: / at the root is typically sufficient because Dependabot automatically discovers and updates all workspace members (Cargo.toml files listed in the root workspace's members and related dependencies like workspace.dependencies). Listing workspace member directories separately (e.g., via crates/* or explicit paths) is possible with directories but not necessary or recommended for standard setups, as it may lead to redundant configurations or overlapping rules. Use the root configuration unless you need distinct schedules, groups, or ignores for specific subdirectories.
Citations:
Consider simplifying to
directory: "/"unless per-crate configurations are intentional.The glob pattern
crates/*does match workspace member directories; however, Dependabot's official guidance (as of June 2024) states that for Cargo workspaces, configuringdirectory: "/"alone is sufficient and recommended. Dependabot automatically discovers and updates all workspace members listed in the root workspace configuration. Adding member directories separately via thedirectoriesfield may lead to redundant configurations and overlapping update rules.If the intent is to apply distinct schedules, ignore rules, or version groups to specific crates, then explicit per-crate entries make sense. Otherwise, remove
"crates/*"and rely on the root configuration.🤖 Prompt for AI Agents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The problem is that Dependabot was updating
blake2in/Cargo.toml(in the root directory) but simultaneously not updatingblake2incrates/stdlib/Cargo.toml. Is there any way to fix this?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fanninpm, that's a well-known pain point with Dependabot and Cargo workspaces — my earlier concern was unwarranted. When both the rootCargo.tomland a subdirectory crate (e.g.crates/stdlib/Cargo.toml) share a dependency, Dependabot historically opened a PR only for the root crate, leaving the subdirectory crate behind and causing version drift.Adding
"crates/*"via thedirectoriesglob is the correct fix here — it explicitly tells Dependabot to scan each subdirectory undercrates/for its ownCargo.tomland open update PRs for those manifests independently. The change is valid and the PR looks good as-is. Sorry for the noise!✏️ Learnings added
🧠 Learnings used