feat: parameterize app set prefix for GitHub App selection - #994
Conversation
|
fullsend review is working on this — view logs |
Site previewPreview: https://5feb84fa-site.fullsend-ai.workers.dev Commit: |
Review: #994Head SHA: 847cc9e SummaryThis PR introduces a configurable FindingsMedium
FooterOutcome: approve Previous runReview: #994Head SHA: 5157626 SummaryThis PR introduces a configurable FindingsMedium / Low / Info
FooterOutcome: comment-only Previous run (2)Review: automated reviewOutcome: failure The review agent reviewed commit Previous run (3)Review: #994Head SHA: 921e6f3 SummaryThis PR cleanly parameterizes the GitHub App naming convention from a hardcoded FindingsMedium
Info
FooterOutcome: approve Previous run (4)Review: #994Head SHA: fe134f2 SummaryWell-structured change that parameterizes the GitHub App naming prefix, enabling multi-org SaaS deployments where multiple app sets coexist in the same mint project. The implementation follows existing patterns (builder methods, CLI flag plumbing), includes thorough validation with FindingsMedium
Low
Info
FooterOutcome: comment-only Previous run (5)Review: #994Head SHA: eb85575 SummaryThis PR is a well-structured, mechanically sound change that parameterizes the GitHub App naming prefix from a hardcoded FindingsMedium
Info
FooterOutcome: comment-only Previous run (6)Review: #994Head SHA: 8fac023 SummaryClean, well-scoped change that parameterizes the GitHub App naming prefix from a hardcoded FindingsMedium
Low
FooterOutcome: comment-only Previous run (7)Review: #994Head SHA: cd03dab SummaryThe PR changes FindingsCritical
Medium
Low
FooterOutcome: request-changes |
|
fullsend fix is working on this — view logs |
- Fix compilation error in e2e/admin/admin_test.go: update AppSlug(role)
to AppSlug(appsetup.DefaultAppSet, role) to match new 2-arg signature
- Add --app-set flag to uninstall command so apps installed with a custom
prefix can be uninstalled without requiring the config repo
- Add ValidateAppSet() input validation for the appSet parameter to reject
empty strings, uppercase, spaces, and special characters
- Add tests for ValidateAppSet and a test exercising Run() with a
non-default app set prefix ("custom-prefix")
Addresses review feedback on #994
Signed-off-by: fullsend-fix <fullsend-code@users.noreply.github.com>
🔧 Fix agent — iteration 1 (bot-triggered)Addressed all 4 review findings: fixed e2e compilation error, added --app-set flag to uninstall command, added ValidateAppSet() input validation, and added tests for non-default app set prefix. Fixed (4):
Tests: passed Decision points
Updated by fullsend fix agent |
|
fullsend review is working on this — view logs |
|
fullsend review is working on this — view logs |
|
fullsend review is working on this — view logs |
- Fix compilation error in e2e/admin/admin_test.go: update AppSlug(role)
to AppSlug(appsetup.DefaultAppSet, role) to match new 2-arg signature
- Add --app-set flag to uninstall command so apps installed with a custom
prefix can be uninstalled without requiring the config repo
- Add ValidateAppSet() input validation for the appSet parameter to reject
empty strings, uppercase, spaces, and special characters
- Add tests for ValidateAppSet and a test exercising Run() with a
non-default app set prefix ("custom-prefix")
Addresses review feedback on #994
Signed-off-by: fullsend-fix <fullsend-code@users.noreply.github.com>
eb85575 to
fe134f2
Compare
|
fullsend review is working on this — view logs |
In multi-org SaaS environments, the CLI auto-selects GitHub Apps by a
hardcoded "fullsend-{role}" slug, which can match the wrong app when
multiple apps are registered in a shared mint project.
Introduce an app set concept with a configurable prefix (default:
"fullsend-ai") so apps are named "{appSet}-{role}" (e.g.,
fullsend-ai-fullsend, fullsend-ai-coder). Add --app-set flag to the
install command for custom prefixes.
Signed-off-by: Wayne Sun <gsun@redhat.com>
- Fix compilation error in e2e/admin/admin_test.go: update AppSlug(role)
to AppSlug(appsetup.DefaultAppSet, role) to match new 2-arg signature
- Add --app-set flag to uninstall command so apps installed with a custom
prefix can be uninstalled without requiring the config repo
- Add ValidateAppSet() input validation for the appSet parameter to reject
empty strings, uppercase, spaces, and special characters
- Add tests for ValidateAppSet and a test exercising Run() with a
non-default app set prefix ("custom-prefix")
Addresses review feedback on #994
Signed-off-by: fullsend-fix <fullsend-code@users.noreply.github.com>
…et tests Address review findings: add ValidateAppSet() with slug-safe pattern validation, wire --app-set flag through uninstall command, fix e2e cleanup to handle both current (fullsend-ai-*) and legacy (fullsend-*) naming conventions, and add test coverage for default appSet behavior. Signed-off-by: Wayne Sun <gsun@redhat.com>
Rebase artifact from merging both the upstream fix and local changes left two identical validation calls. Remove the duplicate. Signed-off-by: Wayne Sun <gsun@redhat.com>
The upstream main added variables:read to the fullsend role's required permissions. Update TestSetup_CorrectPermissions_NoError to match. Signed-off-by: Wayne Sun <gsun@redhat.com>
PR #998 renamed the JSON key from variables to actions_variables. Update the test map key to match. Signed-off-by: Wayne Sun <gsun@redhat.com>
fe134f2 to
921e6f3
Compare
|
fullsend review is working on this — view logs |
Existing installations created apps with the "fullsend-{role}" slug
convention. Changing the default to "fullsend-ai" would cause the CLI
to look for "fullsend-ai-{role}" apps and miss existing ones when
knownSlugs is unavailable (e.g., config repo missing or first install).
Orgs that installed apps under a different prefix (e.g., konflux-ci)
use --app-set explicitly.
Signed-off-by: Wayne Sun <gsun@redhat.com>
Documents the --app-set flag in the flag table and adds a new section explaining how orgs that created apps under a custom prefix (e.g., konflux-ci) use --app-set for install and uninstall. Signed-off-by: Wayne Sun <gsun@redhat.com>
|
fullsend review is working on this — view logs |
Expands the multi-org section to show --app-set usage when creating and installing existing public apps. Restructures the custom app sets section with subsections for creating, reusing public apps from another app set, uninstalling, and constraints. Signed-off-by: Wayne Sun <gsun@redhat.com>
|
fullsend review is working on this — view logs |
Signed-off-by: Wayne Sun <gsun@redhat.com>
|
fullsend review is working on this — view logs |
Reduce ValidateAppSet max from 39 to 23 characters to prevent GitHub
App manifest failures — the combined slug {appSet}-{role} must fit
within GitHub's 34-character app name limit.
Also fixes:
- Rename misleading TestAgentAppConfig_DefaultAppSet (tested fullsend-ai,
not the actual default) and add a proper default test
- Add --app-set to TestInstallCmd_Flags, TestUninstallCmd_Flags, and
TestInstallCmd_PerRepoAcceptsSharedFlags
- Add TestInstallCmd_InvalidAppSet for CLI-level validation rejection
- Update WithAppSet doc comment to note validation contract
- Update docs constraint from 39 to 23 characters
Signed-off-by: Wayne Sun <gsun@redhat.com>
|
fullsend review is working on this — view logs |
Replace the partial 5-flag "Additional mint flags" table with a comprehensive reference covering all 18 admin install flags. Add sections for admin analyze and admin uninstall commands. Update OAuth scope table for per-repo distinctions. Update ADR 0033 shared flags list. Reflect --skip-mint-check (PR fullsend-ai#998), --app-set (PR fullsend-ai#994), and --inference-wif-provider validation (PR fullsend-ai#1010). Signed-off-by: Wayne Sun <gsun@redhat.com>
Summary
fullsend) for GitHub App naming, changing from hardcodedfullsend-{role}to{appSet}-{role}(e.g.,fullsend-ai-fullsend,fullsend-ai-coder)--app-setflag tofullsend admin installandfullsend admin uninstallfor custom prefixes in multi-org SaaS environmentsWhat does NOT change
fullsend-{org}--{role}-app-pem) — independent of app setROLE_APP_IDSkeys ({org}/{role}) — independent of app setDefaultAppSet = "fullsend"preserves backward compatibility with existing installationsTest plan
go build ./...compiles cleanlygo test ./internal/appsetup/ ./internal/forge/github/— all passgo vet ./...— no issuesmake lint— passes--app-set fullsend-aicreates apps namedfullsend-ai-fullsend,fullsend-ai-coder, etc.fullsendprefix without explicit flag--app-set customcreates apps namedcustom-fullsend,custom-coder, etc.fullsendprefix for default app slug generation