Add multi-repo upgrade and dependency maintenance utility#1116
Closed
aravindtga wants to merge 3 commits into
Closed
Add multi-repo upgrade and dependency maintenance utility#1116aravindtga wants to merge 3 commits into
aravindtga wants to merge 3 commits into
Conversation
Signed-off-by: Aravindhan Ayyanathan <aravindhan.a@est.tech>
✅ Deploy Preview for kpt-porch ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new scripts/go-upgrade/ Bash-based utility to coordinate Go version, golangci-lint version, and cross-repo dependency upgrades across the kptdev ecosystem repositories, with optional branch/commit/push + draft PR creation.
Changes:
- Introduces
upgrade.shentrypoint with subcommands (go-version,lint-version,cross-deps,all,push) and workspace orchestration. - Adds modular library scripts for workspace management, module verification, version bumping, cross-deps resolution, and PR pushing via GitHub GraphQL (through
gh). - Adds documentation and default configuration (
README.md,config.env) for targets, repo list, and exclusions.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/go-upgrade/upgrade.sh | Main CLI entrypoint: arg parsing, orchestration, and push gating. |
| scripts/go-upgrade/README.md | Usage, configuration, workflow, and design documentation for the utility. |
| scripts/go-upgrade/config.env | Default targets, repo list, Makefile locations, and exclusion settings. |
| scripts/go-upgrade/lib/common.sh | Logging, helpers, exclusion logic, and dependency/tooling preflight checks. |
| scripts/go-upgrade/lib/workspace.sh | Workspace cloning, clean-state enforcement, and module discovery. |
| scripts/go-upgrade/lib/verify.sh | Module verification pipeline (tidy/fmt/vet/build) with failure recording. |
| scripts/go-upgrade/lib/versions.sh | Implements go-version and lint-version upgrade logic. |
| scripts/go-upgrade/lib/deps.sh | Implements cross-deps module ownership mapping and dependency upgrades. |
| scripts/go-upgrade/lib/push.sh | Implements branch/commit/push and draft PR creation via gh api graphql. |
aravindtga
marked this pull request as ready for review
July 14, 2026 13:00
1 task
Signed-off-by: Aravindhan Ayyanathan <aravindhan.a@est.tech>
aravindtga
force-pushed
the
add-upgrade-tooling
branch
from
July 14, 2026 13:29
d5b1e87 to
de28a9d
Compare
Signed-off-by: Aravindhan Ayyanathan <aravindhan.a@est.tech>
|
Contributor
Author
|
Moved this PR to Kpt repository kptdev/kpt#4651 |
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.



Description
scripts/go-upgrade/— a modular bash utility for coordinating upgrades across 4 interdependent repositories (krm-functions-sdk,kpt,krm-functions-catalog,porch)go mod tidy/go fmt/go vet/go build(all withGOWORK=off), and optionally creates draft PRs via GitHub GraphQL APISupported operations:
go-version- bump Go directive in allgo.modfileslint-version- bumpGOLANGCI_LINT_VERSIONin Makefilescross-deps- upgrade cross-repository dependencies to latest published versionsall- run all of the above in sequencepush- create branches, commit, push, and raise draft PRsType of Change
Checklist
AI Disclosure
Kiro CLI used to design, implement, and validate the utility including library structure, safety fixes, and GraphQL API integration.