Repository navigation
[#556] ✨ - feat select reusable runner profiles in setup and reconcile source workflow parity - #563
Conversation
…installation-parity.md
…le-source-workflow-parity: select shared runners and review installation parity (#556)
|
To preview the documentation for this pull request, visit the following URL:
|
There was a problem hiding this comment.
Current status: All findings originating in this review are resolved.
Last reconciled on4ab25db. See aggregate Bugbot status.
🤖 Bugbot review snapshot
Bugbot reported 4 potential problems when commit 095e2f5 was analyzed. This snapshot is historical; use the status block above for current state. 4 findings are linked to changed code.
Findings
- medium: Unrelated local actions trigger source-installation handling —
src/utils/setup_installation_review.ts:74 - low: Questions without defaults show “undefined” as the suggested answer —
web/src/i18n/questionOptions.ts:44 - low: Sanitize workflow metadata before terminal rendering —
src/cli/setup_installation_review_presenter.ts:8 - low: The provisioning check does not exercise the headless command —
.github/workflows/agent-cli-provisioning.yml:73
Bugbot: 1 finding needs attention
Findings |
Copilot approval · Human review neededStatus: A protected workflow, policy, or trust-boundary file changed. Technical evidenceRevision: |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #563 +/- ##
===========================================
+ Coverage 93.85% 93.96% +0.10%
===========================================
Files 926 936 +10
Lines 29571 30061 +490
Branches 8608 8801 +193
===========================================
+ Hits 27754 28246 +492
- Misses 715 717 +2
+ Partials 1102 1098 -4
🚀 New features to boost your workflow:
|
…le-source-workflow-parity: address runner setup review findings
|
Addressed all four review findings in 21e6192. Source preservation now requires Copilot-specific invocation evidence, including a regression proving that an unrelated root Action still permits consumer upgrades. Missing suggestions use the localized empty label, all repository-controlled terminal metadata is control-stripped, and both provisioning workflows check provider-specific headless help. Validation: 10,582 passing tests, 491/491 changed executable lines covered, plus executable Bash fixtures that reject broken headless commands. The 12 actual source workflows invoking the root Action remain recognized. |
There was a problem hiding this comment.
Current status: All findings originating in this review are resolved.
Last reconciled on4ab25db. See aggregate Bugbot status.
🤖 Bugbot review snapshot
Bugbot reported 2 potential problems when commit 21e6192 was analyzed. This snapshot is historical; use the status block above for current state. 2 findings are linked to changed code.
Findings
- medium: Sanitize
runs-onbefore printing it to the terminal —src/cli/setup_installation_review_presenter.ts:8 - medium: Workflow review can display unredacted credentials —
web/src/components/InstallationReview.svelte:21
…le-source-workflow-parity: clarify preview masking and sanitize runner routes
…le-source-workflow-parity: bound Windows verifier fixture cleanup retries
There was a problem hiding this comment.
Current status: All findings originating in this review are resolved.
Last reconciled on4ab25db. See aggregate Bugbot status.
🤖 Bugbot review snapshot
Bugbot reported 3 potential problems when commit bdf02c6 was analyzed. This snapshot is historical; use the status block above for current state. 3 findings are linked to changed code.
Findings
- medium: Organization runner profiles require repository Variable access —
src/application/policies/setup_runner_policy.ts:43 - medium: Generic executable override breaks checks for other providers —
.github/workflows/agent-cli-provisioning.yml:50 - low: Runner route can escape the installation summary code fence —
src/application/policies/setup_runner_installation_summary_policy.ts:15
…le-source-workflow-parity: isolate provisioning overrides and protect summary fences
|
Addressed the final review in
673 suites / 10,631 passing tests, 35 existing local skips, all coverage budgets pass. The full LCOV report covers 495/495 changed executable lines and 763/763 changed branch alternatives with zero missing or partial lines. Build, types, lint, workflow/documentation/specification contracts and normal commit hooks pass. Source fingerprints are unchanged throughout coverage collection. Verified final head |
There was a problem hiding this comment.
Current status: 1 finding originating in this review requires attention.
Last reconciled on4ab25db. See aggregate Bugbot status.
🤖 Bugbot review snapshot
Bugbot reported 1 potential problem when commit 4ab25db was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.
Findings
- medium: Pass the repository ID to the runner-group filter —
src/infrastructure/setup_runner_discovery_adapter.ts:26
Setup can now select an existing self-hosted runner profile for each target repository, with a shared organization profile as a visible default. The review shows each job’s route, access/capacity observations and the complete installation diff in the paired local web view; terminal output lists routes and changed files without logging workflow bodies. Installed routing remains the default.
What changed
COPILOT_RUNNER_PROFILESdiscovery, explicit hosted/manual/shared choices and independent agent, ordinary validation, hosted credential verification, observer and publication routes in CLI and web, with four-language guidance, localized empty suggestions and control-stripped terminal metadata.Validation
4ab25db0, compared with the currentdevelopbase1718068(published report).vypdev/copilotandvypdev/platformdiscover the eligiblevypdevgroup and prepare/revalidate the same organization profile. Both plans require zero shared access grants and zero repository Variable writes. The temporary registry was restricted to these two repositories and removed after matching its value, timestamps and memberships.Review notes
Existing configurations retain routing unless replacement is selected. Profile snapshots contain the selected non-secret route and provenance digest; inventory permission is optional. Unsupported consumer generator metadata blocks regeneration and source-owned assets remain explicit exceptions.
Credential verification stays hosted when replacing managed routes, including when ordinary validation uses the agent runner. Terminal summaries never emit workflow bodies, including unrecognized custom credential values. The explicit local web preview masks recognized credential formats and discloses that arbitrary hardcoded literals can remain visible. The specification DoD matches its 56-case test floor. Provisioning resolves each role's own executable/provider and supports quoted paths with spaces. PR route JSON uses a fence longer than any literal backtick run. Unknown repository Variable inventory keeps organization-profile freshness blocked so an inaccessible override cannot be assumed absent. The Windows verifier fixture uses bounded cleanup retries after its copied Node process exits; trust assertions are unchanged.
Closes #556