feat(workbenches): implement PR follow-up feature - #789
Conversation
- Add `CreateWorkbenchPRFollowup` method in console client mocks. - Implement `pr-followup` command to send follow-up prompts for workbench jobs. - Include `workbenches` command in CLI to manage Plural workbenches. - Rename `ListaStacks` to `ListStacks` in multiple files for consistency. - Update dependencies in `go.mod`. Add tests for workbench features, including PR follow-up client and resolver logic.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
| GetUser(email string) (*consoleclient.UserFragment, error) | ||
| ListaStacks() (*consoleclient.ListInfrastructureStacks, error) | ||
| ListStacks() (*consoleclient.ListInfrastructureStacks, error) | ||
| } |
There was a problem hiding this comment.
There was a problem hiding this comment.
there should never be any downstream clients for this wrapper. It's not intended to be used outside of the plural-cli
There was a problem hiding this comment.
Got it — if this interface is strictly internal to plural-cli with no external consumers intended, the rename is perfectly safe. Thanks for the clarification.
Should I remember this as a rule: "The ConsoleClient interface in pkg/console/console.go is internal to plural-cli and not intended for use by downstream packages, so interface changes don't need to account for external source compatibility"?
Tip: You can customize Greptile's behavior for this repo with .greptile/rules.md and .greptile/config.json.
Greptile SummaryAdds a workbench PR follow-up CLI flow.
Confidence Score: 4/5The exported ConsoleClient method rename must preserve compatibility or be explicitly handled as a breaking API change before merging. Replacing ListaStacks with ListStacks directly breaks compilation for downstream callers and custom implementations of the exported ConsoleClient interface, while the new workbench follow-up flow otherwise has focused validation and test coverage. Files Needing Attention: pkg/console/console.go and pkg/console/stacks.go
|
| Filename | Overview |
|---|---|
| cmd/command/workbenches/pull_request_resolver.go | Implements provider inference, repository URL parsing, commit-subject parsing, and explicit URL validation. |
| cmd/command/workbenches/pr_followup_service.go | Validates follow-up requests, resolves PR URLs, calls Console, and supports skipping missing workbench jobs. |
| cmd/command/workbenches/workbenches.go | Defines and wires the workbenches pr-followup CLI command. |
| pkg/console/workbenches.go | Wraps the generated WorkbenchPrFollowup mutation and validates its response. |
| pkg/console/console.go | Extends ConsoleClient for workbench follow-ups but removes the existing ListaStacks method, breaking exported API compatibility. |
| go.mod | Upgrades the generated Console client; the reported vulnerable indirect dependencies are unchanged and have no reachable affected paths in this CLI. |
Reviews (1): Last reviewed commit: "feat(workbenches): implement PR follow-u..." | Re-trigger Greptile
…tallation - Fix typo in `ListStacks` API error response parameter in `stacks.go` - Update Plural CLI installation command with specific commit hash in GitHub Actions workflow
CreateWorkbenchPRFollowupmethod in console client mocks.pr-followupcommand to send follow-up prompts for workbench jobs.workbenchescommand in CLI to manage Plural workbenches.ListaStackstoListStacksin multiple files for consistency.go.mod.Add tests for workbench features, including PR follow-up client and resolver logic.
Summary
Labels
Test Plan
Checklist