feat(forge): add ListRepoVariables, DeleteRepoVariable, DeleteRepoSecret - #3001
Conversation
PR Summary by Qodofeat(forge): add repo variable listing and secret/variable deletes
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
|
🤖 Finished Review · ✅ Success · Started 11:58 PM UTC · Completed 12:10 AM UTC |
Site previewPreview: https://2443b6b5-site.fullsend-ai.workers.dev Commit: |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Code Review by Qodo
1.
|
|
Looks good to me. Clean addition of Low
Previous runLooks good to me. Clean addition of Low
Previous runLooks good to me. Clean addition of Low
Labels: PR adds Go code to the forge interface and GitHub implementation. Previous runLooks good to me. Clean addition of Low
Previous run (2)Looks good to me. Clean addition of Low
Labels: PR adds Go code to the forge interface and GitHub implementation. Previous runLooks good to me. Clean addition of Low
Previous run (2)Looks good to me. Clean addition of Low
Labels: PR adds Go code to the forge interface and GitHub implementation. Previous run (3)Looks good to me. Clean addition of Low
Previous run (4)Looks good to me. Clean addition of Low
Labels: PR adds Go code to the forge interface and GitHub implementation. |
a48a239 to
2f00987
Compare
|
🤖 Finished Review · ✅ Success · Started 12:22 AM UTC · Completed 12:33 AM UTC |
2f00987 to
f1021e5
Compare
|
🤖 Finished Review · ✅ Success · Started 12:41 AM UTC · Completed 12:53 AM UTC |
Add three methods to the forge.Client interface for managing repo-level Actions variables and secrets. Needed by fullsend repos status, sync, and remove commands (ADR 0057). GitHub implementation uses REST API with pagination for list and idempotent deletes (204/404 both succeed). FakeClient tracks deletions for test assertions. Signed-off-by: Claude <noreply@anthropic.com> Signed-off-by: Greg Allen <gallen@redhat.com>
f1021e5 to
fcebde1
Compare
|
🤖 Finished Review · ✅ Success · Started 4:24 PM UTC · Completed 4:38 PM UTC |
|
🤖 Finished Retro · ✅ Success · Started 4:56 PM UTC · Completed 5:02 PM UTC |
|
Retro analysis of PR #3001 ( Proposals filed
|
Implements PR 4 from the repos management plan (ADR 0057): - internal/repos/status.go: Status() compares manifest desired state against actual forge state with parallel API calls, drift detection for FULLSEND_MINT_URL, FULLSEND_GCP_REGION, and fullsend_ref, and extractWorkflowRef() for reading @ref from shim workflows. - internal/cli/repos.go: Wires the `fullsend repos` subcommand group with `repos status` supporting --manifest, --json, --repo, and --concurrency flags. - internal/repos/status_test.go: 23 tests covering installed/not installed, single and multi-field drift, glob expansion, repo filtering, API errors, .yml/.yaml fallback, per-repo overrides, multi-org, and concurrency. - internal/cli/repos_test.go: 17 tests covering command wiring, flag defaults, JSON and table rendering, exit codes, and column alignment. Depends on PRs fullsend-ai#3002 (manifest parser) and fullsend-ai#3001 (forge interface). Signed-off-by: Greg Allen <greg@fullsend.ai> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Greg Allen <gallen@redhat.com>
Implements PR 4 from the repos management plan (ADR 0057): - internal/repos/status.go: Status() compares manifest desired state against actual forge state with parallel API calls, drift detection for FULLSEND_MINT_URL, FULLSEND_GCP_REGION, and fullsend_ref, and extractWorkflowRef() for reading @ref from shim workflows. - internal/cli/repos.go: Wires the `fullsend repos` subcommand group with `repos status` supporting --manifest, --json, --repo, and --concurrency flags. - internal/repos/status_test.go: 23 tests covering installed/not installed, single and multi-field drift, glob expansion, repo filtering, API errors, .yml/.yaml fallback, per-repo overrides, multi-org, and concurrency. - internal/cli/repos_test.go: 17 tests covering command wiring, flag defaults, JSON and table rendering, exit codes, and column alignment. Depends on PRs fullsend-ai#3002 (manifest parser) and fullsend-ai#3001 (forge interface). Signed-off-by: Greg Allen <greg@fullsend.ai> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Greg Allen <gallen@redhat.com>
Summary
ListRepoVariables,DeleteRepoVariable,DeleteRepoSecretto theforge.Clientinterfacefullsend repos status/sync/removecommands (ADR 0057, PR 3 of 8)Test plan
go build ./...passes — all interface implementations compile🤖 Generated with Claude Code