feat: support --vendor-fullsend-binary in per-repo mode - #1011
Conversation
|
fullsend review is working on this — view logs |
Site previewPreview: https://d44bca11-site.fullsend-ai.workers.dev Commit: |
ReviewFindingsNo findings. Previous runReviewFindingsLow
Previous run (2)ReviewFindingsLow
Previous run (3)ReviewFindingsNo findings. Previous run (4)Review: #1011Head SHA: 1c19e1f SummaryThis PR correctly parameterizes FindingsInfo
FooterOutcome: approve Previous run (5)Review: #1011Head SHA: 2822392 SummaryThe change correctly parameterizes the vendor binary functions to accept an explicit repo target, enabling per-repo mode support. The per-org path preserves existing behavior by passing FindingsHigh
FooterOutcome: request-changes Previous run (6)Review: #1011Head SHA: c9316ef SummaryThe change correctly parameterizes FindingsHigh
Info
FooterOutcome: request-changes Previous run (7)Review: #1011Head SHA: 88ac64d SummaryClean docs-only change that fixes an inaccurate description of FindingsNo critical, high, medium, low, or info findings. FooterOutcome: approve |
|
fullsend review is working on this — view logs |
|
fullsend fix is working on this — view logs |
c9316ef to
2822392
Compare
|
fullsend review is working on this — view logs |
|
fullsend fix is working on this — view logs |
🔧 Fix agent — iteration 1 (bot-triggered)Addressed 1 of 1 review finding. Updated the e2e test call site to use the new VendorBinary(ctx, client, owner, repo, binaryPath) signature. Could not run Go compilation or tests due to Go version mismatch in sandbox (go.mod requires 1.26.0, sandbox has 1.24.13), but the fix is mechanical — adding forge.ConfigRepoName as the 4th argument to match the updated function signature. Fixed (1):
Tests: failed Updated by fullsend fix agent |
Update VendorBinary call in e2e/admin/admin_test.go to pass owner and repo as separate arguments, matching the signature change from this PR. Addresses review feedback on #1011 Signed-off-by: fullsend-fix <fullsend-code@users.noreply.github.com>
|
fullsend review is working on this — view logs |
ralphbean
left a comment
There was a problem hiding this comment.
Two issues: vendored binary path and stale binary cleanup.
Update VendorBinary call in e2e/admin/admin_test.go to pass owner and repo as separate arguments, matching the signature change from this PR. Addresses review feedback on #1011 Signed-off-by: fullsend-fix <fullsend-code@users.noreply.github.com>
1c19e1f to
cc551ef
Compare
- Separate --vendor-fullsend-binary from enrollment flags in docs; it uploads a dev binary to the config repo, not enrollment-related - Add --skip-mint-check and --vendor-fullsend-binary to the flags table in installation.md - Clarify per-org-only flag descriptions in ADR 0033 Signed-off-by: Wayne Sun <gsun@redhat.com>
The flag was restricted to per-org mode only, but vendoring a development binary is useful in per-repo installs too. Parameterize VendorBinary, VendorBinaryLayer, and vendorFullsendBinary to accept an explicit repo target instead of hardcoding forge.ConfigRepoName. Signed-off-by: Wayne Sun <gsun@redhat.com>
Update VendorBinary call in e2e/admin/admin_test.go to pass owner and repo as separate arguments, matching the signature change from this PR. Addresses review feedback on #1011 Signed-off-by: fullsend-fix <fullsend-code@users.noreply.github.com>
Per-repo mode was uploading the vendored binary to bin/fullsend at the repo root, polluting the target repo with a top-level bin/ directory. Now per-repo uploads to .fullsend/bin/fullsend (matching per-repo config conventions), while per-org continues to use bin/fullsend in the .fullsend config repo. Also adds stale binary cleanup for per-repo mode — reinstalling without --vendor-fullsend-binary now removes any previously vendored binary, matching the cleanup behavior that VendorBinaryLayer provides for per-org mode. Updates action.yml to check both .fullsend/bin/fullsend (per-repo) and bin/fullsend (per-org) when detecting a vendored binary. Signed-off-by: Wayne Sun <gsun@redhat.com>
The layer's cleanup and analyze methods hardcoded VendoredBinaryPath (bin/fullsend) instead of selecting the path based on the target repo. Add a binaryPath() helper that returns the correct path for per-org vs per-repo mode, and add per-repo unit tests for cleanup, analyze, and VendorFunc delegation. Signed-off-by: Wayne Sun <gsun@redhat.com>
- Make --vendor-fullsend-binary flag and doc description mode-neutral (removes path that was only correct for per-repo) - Update VendorBinaryLayer type and Uninstall comments for dual-mode - Add cross-reference comment in per-repo cleanup noting the parallel with VendorBinaryLayer.Install - Standardize StepStart/StepFail/StepDone to lowercase in per-repo cleanup to match the layer's style - Fix e2e test log to use VendoredBinaryPath constant Signed-off-by: Wayne Sun <gsun@redhat.com>
Phase 5 diagram, mode differences table, and layer stack section described vendor binary as per-org only. Updated to show per-repo mode also supports optional binary vendoring via runPerRepoInstall(). Signed-off-by: Wayne Sun <gsun@redhat.com>
2631f21 to
788f6ae
Compare
All findings addressed: vendor binary path fixed for per-repo mode, stale binary cleanup added inline, docs updated.
Summary
--vendor-fullsend-binaryfromperOrgOnlyFlagsso it works in both per-org and per-repo install modesVendorBinary(),VendorBinaryLayer, andvendorFullsendBinary()to accept an explicit repo target instead of hardcodingforge.ConfigRepoNamerunPerRepoInstall(including dry-run output)Test plan
make go-testpasses (cli and layers packages)make go-vetcleanmake lintpasses--vendor-fullsend-binaryadded toPerRepoAcceptsSharedFlagstest tablePerRepoRejectsPerOrgFlagstest tableVendorBinaryLayertests updated with repo parameter