CP-13726 Add dependency-bump MD file for dependency-bump skill - #704
CP-13726 Add dependency-bump MD file for dependency-bump skill#704SumoSourabh wants to merge 1 commit into
Conversation
65ae87b to
03faa31
Compare
03faa31 to
d5871a5
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The new config contains a few documentation/command accuracy issues (broken Markdown emphasis and incorrect/unclear build/coverage/lock-file guidance) that should be corrected before relying on it for automated dependency PR consolidation.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds a repository-specific .claude/dependency-bump.md configuration so the dev-workflow:dependency-bump skill can safely consolidate and verify dependency-update PRs for virtualization-sdk, including special handling for the pipenv-based docs module.
Changes:
- Define which bot authors to consolidate and the repo’s version policy (
latest-stable). - Document build/verification commands for affected Python modules via
bin/build_project.sh(with-mscoping rules). - Add
docs/-specific verification and pipenv lock-file refresh guidance, plus JIRA metadata and additional sync gates.
File summaries
| File | Description |
|---|---|
.claude/dependency-bump.md |
New per-repo dependency-bump skill configuration: bots, version policy, verification workflow (including docs/), lock-file handling, and JIRA fields. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 3
- Review effort level: Lite
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
02952f1 to
9d4709c
Compare
There was a problem hiding this comment.
🟢 Approval recommended
The change is a config-only addition with no code execution paths modified, and the only feedback is a minor clarity improvement to prevent command misinterpretation.
Review details
Suppressed comments (1)
.claude/dependency-bump.md:28
- The follow-up verification step is a bit ambiguous about whether
-tcand-fshould be run together or as separate invocations; making the exact command explicit avoids accidental runs like-cwithout tests (which won’t generate per-module.coveragefiles).
**Once the build and test steps pass, run `bin/build_project.sh` again with `-tc` (test coverage) and `-f` (flake8), scoped with the same `-m <module>` flags as above.** Correct any failures and rerun until it passes.
- Files reviewed: 1/1 changed files
- Comments generated: 0 new
- Review effort level: Lite
b3384c1 to
5121807
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The documented -m <module> scoping for the two-pass -b then -ctf flow is internally inconsistent and will fail when tools is not included (missing coverage/flake8 installs).
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
Suppressed comments (1)
.claude/dependency-bump.md:36
- The examples for scoped runs omit
toolsfrom pass 1. With the currentbuild_project.shbehavior, that meanscoverage/flake8won’t be installed for non-tools-only batches, and pass 2 (-ctf) will fail. The example commands should include-m toolsin pass 1 even when onlycommon/libs/platform/dvpmanifests changed.
| Source PRs touch | Resolved commands |
|-----------------------------------------------------------------|---|
| Only `libs/pyproject.toml` | `sh bin/build_project.sh -b -m libs` then `sh bin/build_project.sh -ctf -m libs` |
| `libs` + `common` | `sh bin/build_project.sh -b -m libs -m common` then `sh bin/build_project.sh -ctf -m libs -m common` |
| All 5 modules (typical for pytest/zipp/packaging consolidation) | `sh bin/build_project.sh -b` then `sh bin/build_project.sh -ctf` |
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
5121807 to
035939a
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The docs verification command currently uses pipenv install --skip-lock, which can bypass Pipfile.lock and fail to validate the bumped lockfile correctly.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
035939a to
f4b8ff5
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The added config contains at least one automation command that is not self-contained/reproducible (build_project.sh -f without ensuring dev deps are installed), which could cause the dependency-bump workflow to fail in fresh environments.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 2
- Review effort level: Lite
f4b8ff5 to
58ea774
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The new config contains a couple of inaccurate/broken internal references that could mislead users/automation consuming this file.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 3
- Review effort level: Lite
58ea774 to
fa7b77c
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The smoke test pollutes the checkout, and required appdata_python_samples coverage is missing.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 2
- Review effort level: Balanced
d27b797 to
5857003
Compare
cfffff1 to
9a08f05
Compare
Jira: https://perforce.atlassian.net/browse/CP-13726
Problem
virtualization-sdkgets a steady stream of bot-raised dependency-update PRs (Dependabot, Mend) across its 5 Python modules (common,libs,platform,tools,dvp) plus a separatedocsmodule built withmkdocs/pipenv. Each lands as its own PR with no build/test verification and no CVE or breaking-change analysis, so reviewing them one at a time is slow and low-context. The newdev-workflow:dependency-bumpClaude Code skill (delphix/dlpx-claude-plugins#411) can consolidate a repo's whole backlog into one risk-assessed PR, but it's generic across repos and needs a per-repo config telling it how to build/verify this repo, which bots to watch, and how to handle thedocsmodule's non-pyproject.tomllock file — that config doesn't exist yet for this repo.Solution
Add
.claude/dependency-bump.md, the per-repo configuration thedependency-bumpskill reads before touching anything:app/dependabot,app/mend-for-github-com.latest-stable(this repo already tracks latest releases rather than pinning conservatively).sh bin/build_project.sh -b) always builds all 5 modules unscoped, sincecoverage/flake8are only declared intools/pyproject.toml's dev extra and a scoped build that excludestoolswould leave them uninstalled; pass 2 (sh bin/build_project.sh -ctf) runs coverage-instrumented tests + flake8 scoped via-m <module>to only the modules whosepyproject.tomlchanged (omitted entirely when all 5 are affected).docsmodule handled separately, since it's pipenv-based (docs/Pipfile/Pipfile.lock), notpyproject.toml: verification runsmkdocs build --clean --strictinstead of the repo's owndocs/build.sh, which was explicitly ruled out because it publishes straight to the production docs bucket (aws s3 sync ... --delete) as a side effect — unsafe to run against an unmerged batch.docs/Pipfile.lock: direct dependencies get theirPipfileline edited thenpipenv lock; transitive dependencies (no line inPipfile) get only the bare re-resolve, neverpipenv update <dep>==<version>, since that command silently adds the target as a new direct pin as a side effect.[sync]gate, plus an end-to-enddvp init/dvp buildsmoke check verifyingartifact.jsonis produced.DLPXproject, typeBug.No skill logic changes — this PR only supplies the config so
dependency-bumpcan operate against this repo.Testing
dependency-bumpskill against this repo — analyze + build/verify only, no push/JIRA/PR. The skill correctly parsed all sections here, derived the expected per-module-m <module>build plan from whichpyproject.tomlfiles a batch touched, and ran the documentedbin/build_project.shverification. That run caught a real pip resolver conflict onhttpretty(main-deps range vs. dev-extras exact pin) and, on retry, correctly isolated a genuine behavior change in the bumpedhttpretty1.0.5→1.1.4 (double-recording requests inHTTPretty.latest_requests), confirmed against actual HTTP logs.