Repository navigation
[Copilot Dreams] Avoid misleading and duplicated dependency-update guidance #181
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
5df1f16
5743b36
13ccc5b
441f3f6
7cb9861
c17e660
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,9 +10,9 @@ Automate the full dependency update lifecycle: discover what's outdated, apply u | |
|
|
||
| ## Repository context | ||
|
|
||
| This is a Rust workspace containing utility crates published to crates.io. All dependency update PRs target the **`main`** branch. | ||
| This is a Rust workspace containing utility crates published to crates.io. | ||
|
|
||
| Dependabot is configured (`.github/dependabot.yaml`) to open PRs against `main` on the 2nd of each month. This skill gathers individual dependabot PRs, combines updates by ecosystem, fixes any breakage, gets CI green, and creates consolidated PRs for human review. | ||
| Dependabot is configured (`.github/dependabot.yaml`) to open PRs against `main` on the 2nd of each month. | ||
|
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Keep one lifecycle overview: A second lifecycle description adds upkeep without a distinct duty: the imperative overview already covers discovery, grouped updates, repairs, green CI, and review handoff, and the numbered workflow retains those stages. The separate Dependabot schedule and target statement stays unchanged. Commit |
||
|
|
||
| ### Crates in this workspace | ||
|
|
||
|
|
@@ -56,8 +56,6 @@ git fetch origin main | |
| git rev-parse --verify origin/main | ||
| ``` | ||
|
|
||
| Detect which ecosystems have pending updates: | ||
|
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Separate discovery from update checks: Finding dependency files could be mistaken for proving updates are pending. The presence checks establish only ecosystem availability; the later intelligence step still finds updates. Both sets of commands remain unchanged. Commit |
||
|
|
||
| ```bash | ||
| [ -f Cargo.toml ] && echo "cargo" | ||
| ls .github/workflows/*.yml .github/workflows/*.yaml 2>/dev/null && echo "github-actions" | ||
|
|
@@ -268,7 +266,6 @@ Report the final PR URL and a summary of what was done. | |
|
|
||
| ## Guidelines | ||
|
|
||
| - **All PRs target `main`.** There is no separate dev branch. | ||
|
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Keep one PR-target mandate: Another target rule adds maintenance without an independent action. The creation step still requires every dependency PR to target |
||
| - **Never push to `main` directly.** Always work on a feature branch. | ||
| - **Never push code that doesn't pass `make lint` and `make test`.** If you can't fix it in 3 tries, stop and ask. | ||
| - **Be conservative with major version bumps.** If a major version update breaks things and the fix isn't obvious, skip that package and note it in the PR description. | ||
|
|
@@ -280,10 +277,8 @@ Report the final PR URL and a summary of what was done. | |
|
|
||
| ## Edge cases | ||
|
|
||
| - **Cargo workspace:** Dependencies are declared per-crate but share a single `Cargo.lock` at the workspace root. Always run `cargo update` and `cargo check` from the repo root. | ||
|
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Keep Cargo guidance with its commands: A repeated workspace item creates another maintenance point without a distinct trigger or action. The earlier Cargo recipe already requires root execution and explains per-crate manifests and the root lockfile; those requirements remain intact. Commit |
||
| - **npm:** Look for `package.json` files to discover npm packages rather than hardcoding paths — the repo layout may change. | ||
| - **WASM builds:** After updating `wasm-bindgen` or related deps, verify `make build-js` still works — WASM toolchain version mismatches are common. | ||
| - **Rate limits:** If `gh api` hits rate limits, wait and retry. Report to user if persistent. | ||
| - **Nothing to update:** Report cleanly and move to the next ecosystem (or exit). | ||
|
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Keep one no-updates branch: Repeating the empty-update disposition adds upkeep without a different reader action. The existing rules already require skipping unchanged ecosystems, telling the user, and working through ecosystems serially. Optional exit when finished adds no further duty. Commit |
||
| - **Merge conflicts on push:** Rebase on `main` and retry: `git fetch origin main && git rebase origin/main`. | ||
| - **Branch already exists:** If `deps/{ecosystem}-updates-{date}` already exists, append a counter or ask user. | ||
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.
🛠️ Keep the target beside creation: Repeating the target in introductory context creates another rule to maintain without changing the updater's action. The PR-creation instruction and command already require
main, and branch setup remains unchanged. Commit