TestDriver AWS Self-Hosted Setup
A runbook skill for deploying TestDriver test infrastructure to AWS via CloudFormation, with EC2 instances spawned and terminated automatically per Vitest test.
Dev & CodingAdvanced★ 243⑂ 37AI score 7/10Last updated: Sep 21, 2026
What it does
- Walks you through deploying a CloudFormation stack that creates a dedicated VPC, security group, IAM roles, and an EC2 launch template — via one-click console link or
aws cloudformation deploy. - Shows the exact
vitest.config.mjschange (testdriverai/vitest/setup-aws) so each test spins up a fresh EC2 instance and terminates it when finished. - Documents every required environment variable (
TD_OS,AWS_REGION,AWS_LAUNCH_TEMPLATE_ID,AMI_ID) plus a GitHub Secrets table and a complete GitHub Actions workflow. - Covers Golden Image AMI customization, security hardening (OIDC federation, CIDR restriction, least-privilege IAM), and a troubleshooting section for unresponsive instances and connection timeouts.
Who it's for
- QA engineers who need real Windows desktop environments for E2E/UI automation.
- Teams that must run test runners inside their own AWS account instead of TestDriver's cloud for compliance or cost reasons.
- DevOps engineers wiring a Vitest suite into GitHub Actions CI.
Prerequisites: an AWS account with CloudFormation permissions, a configured AWS CLI, access to the TestDriver AMI (requires contacting the vendor), and a TestDriver API key.
Usage examples
- First-time infrastructure — "Deploy the TestDriver CloudFormation stack in us-east-2 and give me the LaunchTemplateId" returns the deploy command and the
describe-stacksquery. - CI integration — "Create a workflow that runs Windows self-hosted tests on every PR" produces a ready
.github/workflows/test.ymlplus the six secrets to configure. - Reusing a live instance — pass
TD_IP=1.2.3.4to skip auto-spawning, or runsetup/aws/spawn-runner.shto manage instance lifecycle manually.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/testdriverai/testdriverai/HEAD/ai/skills/testdriver-aws-setup/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the ai/skills/testdriver-aws-setup folder from the GitHub repo testdriverai/testdriverai into my ~/.claude/skills/testdriver-aws-setup/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/testdriverai/testdriverai.git /tmp/testdriverai && mkdir -p ~/.claude/skills && cp -r /tmp/testdriverai/ai/skills/testdriver-aws-setup ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal in your working directory.
- Clone the repository:
git clone https://github.com/testdriverai/testdriverai.git - Create the skills folder:
mkdir -p ~/.claude/skills - Copy the skill:
cp -r testdriverai/ai/skills/testdriver-aws-setup ~/.claude/skills/ - Restart Claude Code and run
/skills(or ask "set up TestDriver self-hosted on AWS") to confirm it loaded. - Before using it: install the AWS CLI and run
aws configure, request TestDriver AMI access for your region, and grab an API key fromconsole.testdriver.ai. - (Important) If you build a custom AMI, rotate the documented default RDP password immediately with
RotateLocalPasswords.ps1, and replaceAllowedIngressCidr=0.0.0.0/0with your own IP ranges.