fix(scaffold): place vendored per-repo reusable workflows under .github/workflows/ - #2545
Conversation
…ub/workflows/ GitHub Actions requires local reusable workflow references (paths starting with ./) to resolve under .github/workflows/. Vendored per-repo installs were placing reusable workflows under .fullsend/.github/workflows/ and generating uses: lines pointing there, causing GitHub to reject the workflows. Fix all three path-generation sites in render.go (reusableWorkflowUses, reusableDispatchUses, and RenderDispatchPerRepoStagePaths) to always produce ./.github/workflows/ paths for vendored installs. Update CollectVendoredAssets to write reusable workflows directly under .github/workflows/ regardless of the per-repo prefix. Update enumerateVendoredPaths so path enumeration and cleanup also use the correct location. Closes #2544
E2E tests are runningAuthorization passed for this commit. See the E2E Tests workflow for results. |
Site previewPreview: https://b333e9ca-site.fullsend-ai.workers.dev Commit: |
|
🤖 Finished Review · ✅ Success · Started 9:19 AM UTC · Completed 9:32 AM UTC |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Looks good to me Labels: PR fixes a bug in vendored per-repo workflow path generation. Previous runReviewFindingsMedium
Low
Labels: PR fixes vendored per-repo workflow path generation in internal/scaffold/ |
|
/fs-fix tend to review finding and get coverage to 80% or above |
|
🤖 Finished Fix · ✅ Success · Started 10:06 AM UTC · Completed 10:13 AM UTC |
Remove unused workflowPrefix parameter from enumerateVendoredPaths — after the reusable-workflow path fix, this function always produces .github/workflows/ paths regardless of install mode. Add TestLegacyFlatVendoredPaths_PerRepoPrefix to cover the new legacy-cleanup branch in enumerateLegacyFlatVendoredPaths that emits both canonical and legacy per-repo paths when workflowPrefix is set. Addresses review feedback on #2545
🔧 Fix agent — iteration 1 (human-triggered)Addressed 2 of 5 review findings: removed dead workflowPrefix parameter from enumerateVendoredPaths (medium) and added test for legacy cleanup paths with per-repo prefix to cover the untested branch (medium, fixes patch coverage gap). Disagreed with 3 findings: ADR-0033 update is out of scope per ADR immutability policy, CollectVendoredAssets parameter rename is cosmetic, and assertion style is a minor nit. Fixed (2):
Disagreed (3):
Tests: passed Updated by fullsend fix agent |
|
🤖 Finished Review · ✅ Success · Started 10:16 AM UTC · Completed 10:30 AM UTC |
|
🤖 Finished Retro · ✅ Success · Started 6:24 AM UTC · Completed 6:40 AM UTC |
Retro: PR #2545 — fix(scaffold): place vendored per-repo reusable workflows under .github/workflows/Overall assessment: This workflow went well. The full triage → code → review → fix → re-review pipeline completed successfully with only one fix iteration. The code agent produced a clean, well-tested bug fix in ~15 minutes, and the fix agent made sound judgment calls when disagreeing with 3 of 5 review findings. Timeline
What went well
Improvement areas (mostly already tracked)
No new proposals filed — all identified improvements are covered by existing open issues. |
GitHub Actions requires local reusable workflow references (paths starting with ./) to resolve under .github/workflows/. Vendored per-repo installs were placing reusable workflows under .fullsend/.github/workflows/ and generating uses: lines pointing there, causing GitHub to reject the workflows.
Fix all three path-generation sites in render.go (reusableWorkflowUses, reusableDispatchUses, and RenderDispatchPerRepoStagePaths) to always produce ./.github/workflows/ paths for vendored installs. Update CollectVendoredAssets to write reusable workflows directly under .github/workflows/ regardless of the per-repo prefix. Update enumerateVendoredPaths so path enumeration and cleanup also use the correct location.
Closes #2544
Post-script verification
agent/2544-fix-vendored-per-repo-workflow-paths)0ca2613578a60c30ed7e1ba67d5ea1486fbe4723..HEAD)