refactor(provider-webdriver): ship AWS Device Farm as the `@agent-device/aws-device-farm` plugin
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 54/100
- Issue-Typ
- Refactoring
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- aws, node.js, typescript
Rechercherichtung
Start with the existing AWS Device Farm provider and connection files in packages/provider-webdriver, plus the TestMu plugin package as the packaging template; this work is blocked on #3312 and the BrowserStack extraction. Move the named AWS files and tests into packages/provider-aws-device-farm, expose the host command runner through the plugin SDK, and update core, help, docs, and README as specified. Run the named provider-scenario tests and pnpm check:affected --run; completion also requires the plugin checker and live-session verification or a documented blocker.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Purpose and evidence
0.22 stops bundling hosted device providers with the default installation. AWS Device Farm already presents the plugin factory shape inside core (packages/provider-webdriver/src/aws-device-farm-provider.ts plus aws-device-farm-connection.ts, PR #3312). The one capability it needs that ProviderPluginHost does not expose is a host-command runner: the provider drives aws devicefarm ... through runHostCommand, which core currently supplies in src/provider-webdriver.ts.
Required behavior and boundary
- Extend the experimental plugin SDK:
ProviderPluginHostgainsrunHostCommand(command, args): Promise<{ stdout }>backed byrunCmdwith the bounds core uses today (10 MiB buffer, 30 s). Keep the SDK declaration small; the packed declaration-size guard from #3121 stays green. - New workspace package
packages/provider-aws-device-farmpublishing@agent-device/aws-device-farm, built and released like TestMu. The default export returns{ webDriver, connection }; the manifest declaresprovider: "aws-device-farm"and theconnectioncapabilities fromCLOUD_WEBDRIVER_PROVIDER_DECLARATIONS(nocredentialVariables: the AWS CLI credential chain has no environment fingerprint, and the fingerprint tests pin that). - Move
aws-device-farm.ts,aws-device-farm-artifacts.ts,aws-device-farm-provider.ts,aws-device-farm-connection.ts,aws-device-farm-connection-verification.tsand their tests out ofprovider-webdriver. Therequires --aws-project-arn <arn> or AWS_DEVICE_FARM_PROJECT_ARNmessages and the flag-then-AGENT_DEVICE_*-then-AWS_*selector order stay as they are. - Core drops
aws-device-farmfromBUNDLED_CLOUD_WEBDRIVER_PROVIDERSandRESERVED_PLUGIN_PROVIDERS;connectionProviderCapabilitiesand therequiresAppAttachmentreconnect hint inconnection-presentation.tskeep working from the manifest. - Help,
website/docs/docs/aws-device-farm.md,device-clouds.md,plugins.md, and the README move the provider to the plugin install flow.
agent-device plugins add @agent-device/aws-device-farm
agent-device connect aws-device-farm --platform android --aws-project-arn <arn> --aws-device-arn <arn> --aws-app-arn <arn>
Completion and validation
node scripts/check-provider-plugin.mjs packages/provider-aws-device-farmpasses with a fixtureawsonPATH.- The AWS provider-scenario tests (
cloud-webdriver-provider-adapters,cloud-webdriver-provider-regressions,stale-provider-runtime-admission) build the runtime from the plugin factory with the fake host command. pnpm check:affected --runpasses; Size report shows the default install shrinking.- One live Device Farm remote-access session with the packed plugin, recorded in the PR, or the exact blocker named.
Dependencies and readiness
Blocked by: #3312 landing on main; do the BrowserStack extraction first so the packaging template is proven twice before the SDK change here.
Effort: M. Risk: medium (SDK surface grows by one method; AWS live verification needs an account).
- Vorherrschende Sprache
- TypeScript
- Sterne
- 4.9k
- Forks
- 328
- Ø Merge
- 12 Std. 16 Min.
- Gemergte PRs (30 T.)
- 538
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus callstack/agent-device
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
callstack/agent-device#3353 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
callstack/agent-device#1869 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 Ein halber Tag Anfängerfreundlichkeit 42/100
callstack/agent-device#3360 ·
Maintainer antworten meist innerhalb von 1 Tag
-
needs-triage
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
callstack/agent-device#3359 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 62/100
callstack/agent-device#3358 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in callstack/agent-device
Ähnliche Issues
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 75/100
lingdojo/kana-dojo#32018 · 1 Kommentar · 5 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
paperclipai/paperclip#15751 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
BuilderIO/agent-native#7275 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 1 Tag