feat(scaffold): pin workflow refs to release commit SHA - #2615
Conversation
PR Summary by QodoPin scaffolded workflow refs to release commit SHA (dev builds fall back to @v0) Description
Diagram
High-Level Assessment
Files changed (17)
|
Site previewPreview: https://fd04b1dd-site.fullsend-ai.workers.dev Commit: |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Code Review by Qodo
1. Dev installs fall back v0
|
6ee1140 to
b9e13e4
Compare
When the CLI scaffolds workflow files during `fullsend github setup`, pin the `uses:` directive and `fullsend_ai_ref` parameter to the binary's build-time commit SHA instead of the mutable `@v0` tag. Dev builds fall back to `@v0`. Closes #1933 Assisted-by: Claude Signed-off-by: Wayne Sun <gsun@redhat.com>
b9e13e4 to
39a55a5
Compare
|
🤖 Finished Review · ✅ Success · Started 4:15 PM UTC · Completed 4:24 PM UTC |
|
Looks good to me Labels: PR modifies scaffold workflow rendering and CLI install paths to pin upstream refs at install time. |
ralphbean
left a comment
There was a problem hiding this comment.
LGTM. One non-blocking note inline.
| UpstreamRef string // commit SHA to pin workflow refs to; empty = use DefaultUpstreamRef | ||
| UpstreamTag string // version tag for traceability comment (e.g. "v0.19.0") | ||
| } | ||
|
|
There was a problem hiding this comment.
[moderate] This constructor is getting wide — four positional args, and most callers pass "", "" for the new ones. Since it returns a RenderOptions struct, callers could just build the struct directly:
scaffold.RenderOptions{Vendored: false}Zero-value defaults handle the common case, and future additions (like a --ref override) wouldn't require touching every call site.
Non-blocking — the current shape works, just worth considering if we're going to keep adding fields.
|
🤖 Finished Retro · ✅ Success · Started 5:57 PM UTC · Completed 6:03 PM UTC |
Retro: PR #2615 — feat(scaffold): pin workflow refs to release commit SHATimeline: Human-authored PR by waynesun09 implementing issue #1933. The review agent (fullsend-ai-review) approved in ~9 minutes with "Looks good to me" and zero findings. Human reviewer ralphbean also approved but left one moderate non-blocking inline comment noting that the Review quality gap: The review agent missed a valid Go API design concern that the human caught. This is a common pattern in Go — when a function accumulates positional parameters where most callers use zero values, it's a signal to switch to struct-based options. The agent should be able to detect this pattern, especially when the diff shows new parameters being added to an existing function and most call sites pass zero/empty values. What went well: Fast turnaround (PR opened to merged in ~2 hours). Good test coverage — all modified lines covered. The qodo bot provided useful context summaries. The review agent's approval was directionally correct (no bugs or correctness issues). 1 proposal filed about teaching the review agent to detect growing positional parameter lists in Go functions. No duplicates found among existing open issues. Proposals filed
|
Summary
uses:andfullsend_ai_refto the release commit SHA instead of the mutable@v0tagcommitSHA="dev") fall back to@v0Closes #1933
Test plan
go build ./cmd/fullsend/passesgo test ./internal/scaffold/...passes (new pinned-SHA tests + fallback test)go test ./internal/layers/...passesgo test ./internal/cli/...passesmake lintpasses