Integration

Playwright Parallel Testing with GitHub Actions

Keep your GitHub Actions workflow. Replace the test-execution step with a single TraceLoom call that fans your Playwright suite out across 50+ EC2 Spot workers in your own AWS account and captures a full trace on every test.

Bottom line: TraceLoom is a single GitHub Actions step. Your workflow still builds, lints and deploys on GitHub-hosted runners, but browser execution fans out to 50+ EC2 Spot workers in your own AWS account — with full Playwright traces stored in your S3 bucket.

Last updated: April 2026

Add to your GitHub Actions pipeline

.github/workflows/test.yml

name: Tests
on: [push, pull_request]

jobs:
  playwright:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: actions/setup-node@v4
        with:
          node-version: '20'

      - run: npm ci

      - name: Run Playwright tests via TraceLoom
        env:
          TRACELOOM_API_KEY: ${{ secrets.TRACELOOM_API_KEY }}
        run: npx traceloom run

Store TRACELOOM_API_KEY in your repository's GitHub Secrets (Settings → Secrets and variables → Actions). No changes to your Playwright test files — TraceLoom wraps the Playwright CLI.

How TraceLoom extends GitHub Actions

GitHub Actions is excellent at orchestrating CI jobs — checkout, install, build, deploy — but it wasn't designed to run large Playwright suites in parallel. The default matrix caps at 20 concurrent jobs, and runner minutes get expensive fast once your browser-execution time crosses a few minutes per run.

TraceLoom keeps your GitHub Actions workflow doing what it's good at. The single npx traceloom run step hands the test-execution phase off to TraceLoom, which spins up 50+ EC2 Spot workers in your own AWS account, distributes tests with smart sharding based on historical run times, captures a full .trace.zip for every test, and streams results back to your GitHub Actions log.

The workers run inside your VPC, the traces land in your S3 bucket, and TraceLoom's control plane only sees run metadata — pass/fail counts, timing, test names. Your test data never leaves your AWS account.

What you get

  • 50+ parallel EC2 Spot workers. Fan out beyond the 20-job GitHub Actions matrix cap without per-session pricing tiers.
  • Full Playwright trace on every test. DOM snapshots, network waterfalls, console logs, action timelines — viewable in the standard Playwright Trace Viewer.
  • BYOC data ownership. Workers run inside your VPC and traces land in your S3 bucket. TraceLoom's control plane only sees run metadata.
  • One GitHub Actions step. Drop-in YAML with no changes to your Playwright test files or Playwright config.

Frequently Asked Questions

Does TraceLoom work with GitHub Actions matrix builds?
Yes. TraceLoom replaces or complements your existing matrix strategy. Instead of running Playwright across 20 parallel GitHub-hosted runners (the default matrix limit), a single GitHub Actions step calls `npx traceloom run`, which dispatches your tests to 50+ EC2 Spot workers in your own AWS account. Your workflow file gets simpler, wall-clock time drops, and you stop paying runner minutes for browser execution.
How do I trigger TraceLoom from a GitHub Actions workflow?
Add a single step to your workflow that runs `npx traceloom run`, with `TRACELOOM_API_KEY` passed from GitHub Secrets. The full YAML is in the snippet above. TraceLoom auto-detects non-TTY environments and switches to plain-text output, so CI logs stay clean and parseable.
Does my GitHub Actions bill go down when I use TraceLoom?
Typically yes, for anything beyond a small suite. Browser execution — the expensive part of running Playwright in CI — moves off GitHub-hosted runners and onto EC2 Spot instances in your AWS account. GitHub Actions still runs the trigger step and any non-browser pre/post work, so runner minutes drop significantly but do not go to zero. Spot compute usually costs 60–90% less than the equivalent runner minutes.
Can I keep running other jobs on GitHub Actions alongside TraceLoom?
Yes. TraceLoom only replaces the test-execution step. Lint, type-check, build, deploy, and any other jobs continue to run on GitHub Actions exactly as before. TraceLoom is invoked as one step in one job, and the rest of your CI pipeline is untouched.

Also integrates with: GitLab CI · Jenkins

Get started

Ship faster with tests you actually trust.

Deploy one CloudFormation stack, run your first suite in 15 minutes, and see every trace in your own S3 bucket.