Skip to content

Support transitive dependency resolution in vendor and related commands#23

Merged
aatarasoff merged 5 commits into
mainfrom
copilot/adopt-issue-14-changes-cli
Jun 1, 2026
Merged

Support transitive dependency resolution in vendor and related commands#23
aatarasoff merged 5 commits into
mainfrom
copilot/adopt-issue-14-changes-cli

Conversation

Copilot AI commented Mar 20, 2026

Copy link
Copy Markdown
Contributor

Adopts API changes from pbuf-registry#14 / PR#32 / PR#33 to support transitive dependency resolution. Users no longer need to manually declare all transitive dependencies in pbuf.yaml — the vendor command now resolves and vendors direct transitive deps automatically.

Proto & codegen

  • Added dependency_type (string) to Dependency message
  • Added resolve_transitive (bool) to GetModuleDependenciesRequest
  • Regenerated Go code via buf generate

vendor command

  • After vendoring configured modules, calls GetModuleDependencies with resolve_transitive=true for each registry module
  • Vendors only dependency_type=="direct" transitive deps (needed for compilation), skips indirect ones
  • Deduplicates against already-configured modules

push command

  • Sets dependency_type: "direct" on all dependencies sent to registry

get command

  • Added --resolve-transitive flag to include transitive deps in output

Tests

  • Unit tests for resolveTransitiveDependencies: filtering, dedup, skip-git-modules, end-to-end vendor flow
  • Integration tests with in-process gRPC server: full vendor with transitive resolution, duplicate prevention, push dependency type, get with resolve flag

CI

  • Added Run Tests step (make test) to the GitHub Actions PR workflow so that unit and integration tests run automatically on every pull request

Config

  • Bumped pbuf-registry module tag to v0.7.0

📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.

Copilot AI and others added 2 commits March 20, 2026 11:18
- Update proto files with dependency_type field and resolve_transitive flag
- Regenerate protobuf Go code
- Update push command to set dependency_type="direct" for dependencies
- Update vendor command to resolve and vendor transitive dependencies
- Update get command with --resolve-transitive flag
- Add unit tests for resolveTransitiveDependencies
- Add integration tests with mock gRPC server
- Bump pbuf-registry tag to v0.7.0

Co-authored-by: aatarasoff <3737657+aatarasoff@users.noreply.github.com>
Co-authored-by: aatarasoff <3737657+aatarasoff@users.noreply.github.com>
Copilot AI changed the title [WIP] Adopt changes from issue 14 in CLI with tests Support transitive dependency resolution in vendor and related commands Mar 20, 2026
Copilot AI requested a review from aatarasoff March 20, 2026 11:21
@aatarasoff aatarasoff marked this pull request as ready for review June 1, 2026 19:05
@aatarasoff

Copy link
Copy Markdown
Contributor

@copilot add tests run on PR

Copilot AI commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

@copilot add tests run on PR

Added a Run Tests step (make test) to the existing CI workflow in .github/workflows/main.yml. It now runs go test ./... -cover on every PR to main, before the build step.

@aatarasoff

Copy link
Copy Markdown
Contributor

@copilot fix build and test

Copilot AI commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

@copilot fix build and test

Fixed in commit fix: handle conn.Close() return values to satisfy errcheck linter. The CI was failing because golangci-lint flagged 3 unchecked conn.Close() calls in e2e/integration_test.go. All three are now wrapped to discard the error explicitly.

@aatarasoff aatarasoff merged commit 3bbd4e2 into main Jun 1, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants