Add AWS Device Farm backend and headless simulator commands#6
Merged
Conversation
Replace webcam resolution configuration with publish and subscribe video constraints plus nullable max concurrent track support across config, browser runtime, headless CLI, TUI, Cloudflare mappings, and generated client artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This branch adds AWS Device Farm Test Grid support to the browser simulator and rounds out the CLI/config surfaces needed to run simulator participants without the TUI.
Implements:
AWS Device Farm backend
aws-device-farmas a participant backend kind withdevice_farmconfig for project ARN, region, signed URL lifetime, session max duration, idle timeout, and health polling.aws-sdk-devicefarm, then driving remote Chrome over WebDriver withthirtyfour.BrowserDriverabstraction so Local Chromium and Device Farm WebDriver share the same join/control/state logic.AWS subcommand
hyper-client-simulator aws list-sessionsfor the configured Device Farm project, with status filtering,--since, human table output, JSON output, age, and estimated billing totals.--sincevalues (YYYY-MM-DD, local date/time, RFC3339) and human-readable relative durations such as--since "1 day".hyper-client-simulator aws close-sessionsto close explicitly listed session IDs or all active sessions when no IDs are provided.device_farm.project_arn,device_farm.region, and signed URL expiration config as the simulator backend.Headless / no-TUI command
hyper-client-simulator headlessto run participants directly from the CLI without launching the TUI.--participant JSONoverrides for per-participant URL/backend/media/transport/video/headless settings.run-headless-simulatorCodex skill for smoke-testing participant runs from the CLI.Video constraint support
none,90p,144p,240p,360p,480p,720p,1080p,1440p,2160p).hyper.settings.mediaAPI for HyperCore; HyperLite keeps unsupported constraint commands as no-ops.Supporting changes
chromiumoxide_cdpcrate needed for the current Chrome CDP event shape used by local browser shutdown/request handling.Validation
NIXPKGS_ALLOW_UNFREE=1 nix develop --impure -c just checkcargo clippy --all-targets --all-features -- -D warningscargo nextest run --no-tests warn— 39 root binary tests passedNIXPKGS_ALLOW_UNFREE=1 nix develop --impure -c cargo nextest run -p client-simulator-config— 12 passedNIXPKGS_ALLOW_UNFREE=1 nix develop --impure -c cargo nextest run -p client-simulator-browser --test device_farm_driver— 5 passedgit diff --check origin/main...HEAD