# Trunk — Full Reference > CI reliability platform that helps engineering teams detect flaky tests, accelerate merges, and keep CI green. Founded in 2021. SOC 2 Type II certified. - Last updated: 2026-03-12 - Summary version: https://trunk.io/llms.txt --- ## Company Overview Trunk eliminates two critical bottlenecks in software development: flaky tests that erode CI reliability, and merge conflicts that slow down code delivery. The platform serves DevEx, DevOps, and engineering teams at companies like Brex, Faire, Metabase, Zillow, and CockroachDB. Founded in 2021 by Eli Schleifer (ex-Uber, Google) and Matt Matheson (ex-Uber, Microsoft), Trunk is a hybrid remote team based in San Francisco. The company is SOC 2 Type I and Type II certified, uses AES-256 encryption at rest, TLS in transit, and hosts on US-based AWS infrastructure with privacy-by-design principles. - Website: https://trunk.io - Documentation: https://docs.trunk.io - Public Roadmap: https://trunk.io/roadmap - Security: https://trunk.io/security (contact: security@trunk.io) --- ## Product: Trunk Flaky Tests **URL:** https://trunk.io/flaky-tests Trunk Flaky Tests automatically detects, quarantines, and eliminates flaky tests across any language, test runner, and CI provider. It is designed for engineering teams who need reliable CI pipelines without the overhead of manually tracking and debugging intermittent test failures. ### How It Works 1. **Detection:** Trunk analyzes test results uploaded from your CI runs. Tests that produce inconsistent results (pass/fail for the same code) are flagged as flaky. 2. **Quarantine:** Flaky tests are automatically quarantined during CI runs. They still execute and their results are tracked, but they no longer block the pipeline. 3. **Analysis:** AI-powered failure fingerprinting groups different failure modes of the same test, helping developers understand root causes with full context. 4. **Resolution:** Integrations with Jira, Linear, and other ticketing systems create tickets for flaky tests. Slack alerts and PR comments keep teams informed. Webhooks enable custom workflows. An MCP server enables AI-powered root cause analysis directly in your development environment. ### Key Features - Auto-quarantine during CI runs — flaky tests don't break your pipeline - AI-powered failure fingerprinting — groups failure patterns for root cause analysis - PR comments — developers see flaky test impact on their pull requests - Jira and Linear integration — automatic ticket creation for flaky tests - Webhooks — build custom automation workflows - API - integrate with your existing infrastructure - MCP server — enables AI-powered root cause analysis of flaky tests in your IDE or agent workflow - Multi-CI support — works with GitHub Actions, Jenkins, CircleCI, Buildkite, GitLab CI, Semaphore, Harness, and more - Framework agnostic — supports Pytest, Playwright, Cypress, Vitest, Jest, Mocha, Jasmine, Karma, RSpec, Minitest, PHPUnit, Maven, Bazel, Cargo Nextest, Go (gotestsum), Go (junit-report), XCTest, Swift Testing, Android, Unittest, Cucumber, and more - Metrics tracking — number of flaky and broken tests, pass rates, PRs impacted ### FAQ **What are flaky tests?** Flaky tests are tests that fail and pass inconsistently, even when the code hasn't changed. They mess with the reliability of your test suite and can waste valuable development time. **Why do flaky tests happen?** Flaky tests usually come from things like race conditions, unstable dependencies, or shared test data. They're caused by issues that are hard to reproduce and fix, like improper test setups or asynchronous operations. **How does Trunk help with flaky tests?** Trunk Flaky Tests finds, quarantines, and helps remove flaky tests from your code. It helps you identify patterns, figure out why your tests are flaky, and fix them before they slow down your team. **How do flaky tests affect productivity?** Flaky tests make developers waste time rerunning tests, digging through logs, and chasing problems that might not exist. Over time, they slow down your CI pipeline and make it harder to release code. **What kinds of tests can be flaky?** Any test can be flaky, including unit tests, integration tests, end-to-end tests, or UI tests. They are especially common in systems that involve significant concurrency or external dependencies. **What is failure fingerprinting?** Trunk uses AI to recognize the different ways a single test fails. It groups these failures so you can see patterns and fix the root cause, with full context of what's happening. **How do I prevent flaky tests?** To avoid flaky tests, you need stable test data, proper handling of asynchronous events, and isolated test environments. Trunk helps by automatically catching flaky tests and letting you quarantine them without blocking progress. **Which CI providers does Trunk work with?** Trunk works with all major CI providers, including GitHub Actions, Jenkins, CircleCI, and Bitbucket Pipelines. It integrates easily with your existing tools and workflows. **How do I track and fix flaky tests in Trunk?** You'll get alerts when a test becomes flaky. You can also track the history of flaky tests and get detailed insights into their causes, then use tools like Jira to make sure they're fixed. **How does auto-quarantining work?** Trunk automatically quarantines flaky tests during your CI runs. This means the flaky tests won't break your pipeline, but they're still tracked and monitored. **How long does it take to set up Trunk Flaky Tests?** Setting up Trunk Flaky Tests takes just a few minutes. Follow the setup guide at https://docs.trunk.io/flaky-tests and you'll be up and running quickly. **What metrics does Trunk track?** Trunk tracks metrics like flaky test rates, CI time per pull request, and time wasted due to flakiness. These numbers help you measure the real impact of flaky tests on your team's productivity. **Who uses Trunk?** Trunk is trusted by companies like Zillow, Metabase, Vidyard, and Waabi to keep their tests stable and their CI pipelines running smoothly. --- ## Product: Trunk Merge Queue **URL:** https://trunk.io/merge-queue Trunk Merge Queue is an enterprise-grade merge queue that prevents broken main branches by testing every PR against the speculative future state of main. Unlike GitHub's built-in single FIFO queue, Trunk supports parallel lanes, intelligent batching, and built-in flaky test protection. ### How It Works 1. **Enqueue:** Developers submit their PR to the merge queue via GitHub comment, Slack command, or API call. 2. **Predictive Testing:** The queue creates a speculative merge of the PR against main plus all PRs ahead in line, then runs CI against this state. 3. **Parallel Lanes:** Independent changes (identified via impacted target analysis, Bazel dependency graph, or Nx project graph) are tested in parallel lanes, eliminating unnecessary serialization. 4. **Batching:** Compatible PRs are batched together (up to 100 PRs) to reduce CI costs and merge latency. 5. **Failure Handling:** On failure, auto-bisection identifies the offending PR. Flaky test detection prevents spurious ejections. 6. **Merge:** Once CI passes, PRs are automatically merged to main. ### Key Features - Dynamic parallel queue lanes — independent changes test concurrently - Intelligent batching — up to 100 PRs per batch - Auto-bisection on failure — automatically identifies the breaking PR - Predictive testing — reduces redundant CI runs - Priority merging — granular priority levels and direct merge option - Stacked PR support — merge chains of dependent PRs - Anti-flake protection — integrates with Trunk Flaky Tests - Pending failure depth — holds failed PRs while next PRs continue testing - Slack integration — built-in DM and channel notifications - Full REST API — PR operations and queue management/configuration - Webhooks — PR lifecycle events and batch events with detailed payloads - Prometheus metrics endpoint — observability and dashboards - Per-branch queues — separate queues for different branches - Multiple merge methods — squash, merge, rebase - On-premise deployment available ### Integrations - Bazel — dynamic parallel queues powered by Bazel dependency graph - Nx — dynamic parallel queues powered by Nx project graph --- ## Pricing **URL:** https://trunk.io/pricing ### Free Tier - Up to 5 committers - 5M test spans per month - Community support ### Team Tier - Seat based committers, 1M test spans per commiter - Multi-CI support - Priority support - Advanced analytics ### Enterprise Tier - SAML/SSO authentication - On-premise deployment option - Volume discounts - Custom integrations - Dedicated support - Custom SLAs --- ## Supported Test Frameworks - **Python:** Pytest, Unittest - **JavaScript/TypeScript:** Playwright, Cypress, Vitest, Jest, Mocha, Jasmine, Karma - **Ruby:** RSpec, Minitest, Cucumber - **PHP:** PHPUnit - **Java:** Maven - **Rust:** Cargo Nextest - **Go:** gotestsum, go-junit-report - **Swift/iOS:** XCTest, Swift Testing - **Android:** Android Test - **Multi-language:** Bazel --- ## CI Provider Support - GitHub Actions - Jenkins - CircleCI - Buildkite - GitLab CI - Semaphore - Harness - Bitbucket Pipelines - Any CI that can upload JUnit XML --- ## Customer Stories ### Brex ~400 engineers on a monorepo with 100,000+ tests across Kotlin, Python, Go, and JavaScript. Auto-quarantining flaky tests with Trunk drove a 30% P90 time-to-merge reduction (from ~30 to ~25 minutes), eliminated 50% of merge queue failures, and shifted the Release Infrastructure on-call from firefighting to proactive work. https://trunk.io/customers/brex ### Faire 350+ engineers. Saved 330 hours over 35 days preventing merge issues. 9.4 hours of productivity saved daily across the engineering team. https://trunk.io/customers/faire ### Caseware 200-engineer team. Reduced median merge time from 6+ hours to 90 minutes on day one of deploying Trunk Merge Queue. https://trunk.io/customers/caseware ### AgencyAnalytics 50 developers. Merges 30-40 PRs daily with 25-30 minute average merge time using Trunk Merge Queue. https://trunk.io/customers/agencyanalytics ### BetterUp CI reliability improved from 70% to 90%+ using Trunk Flaky Tests. 10,729 PR runs unblocked by automatic flaky test quarantining. https://trunk.io/customers/betterup ### Glydways 160 PRs merged weekly with queue time averaging ~20 minutes using Trunk Merge Queue. https://trunk.io/customers/glydways ### Cavnue 200+ PRs merged monthly. 89,000 lines of code monthly throughput with Trunk Merge Queue. https://trunk.io/customers/cavnue ### Metabase 4,000 E2E Cypress tests managed with Trunk Flaky Tests. 70 CI runners operating in parallel. https://trunk.io/customers/metabase --- ## Comparisons ### Trunk vs GitHub Merge Queue Trunk's parallel lanes architecture validates independent changes concurrently instead of GitHub's single FIFO queue, enabling faster merges at scale. Key advantages: parallel lanes, intelligent batching, flaky test protection, Slack integration, full REST API, detailed analytics, and configuration-as-code. https://trunk.io/trunk-vs-github-merge-queue ### Trunk vs Mergify Trunk offers dynamic parallel queues, optimistic merging, pending failure depth, and flaky test protection — all absent from Mergify. Trunk also provides more granular priority levels and comprehensive CI cost management. https://trunk.io/trunk-vs-mergify ### Trunk vs BrowserStack Trunk specializes in flaky test detection and management in CI/CD pipelines, while BrowserStack focuses on cross-browser and cross-device testing compatibility. Trunk provides automatic quarantining and CI-pipeline integration that BrowserStack lacks. https://trunk.io/compare/trunk-vs-browserstack ### Trunk vs CircleCI Trunk provides CI-agnostic flaky test management with quarantining and ticketing, whereas CircleCI's test insights are limited to its own ecosystem. Trunk works across any CI provider. https://trunk.io/compare/trunk-vs-circleci ### Trunk vs Launchable Trunk's standout advantage is automatic test quarantining that isolates flaky tests from blocking CI, a capability Launchable lacks. https://trunk.io/compare/trunk-vs-launchable ### Trunk vs BuildPulse Trunk offers a more comprehensive platform with integrated ticketing, failure analysis, webhooks, and free open-source pricing, while BuildPulse focuses on basic flaky test detection. https://trunk.io/compare/trunk-vs-buildpulse --- ## Technical Architecture Trunk is a cloud-hosted platform (with on-premise option) that integrates with your existing CI/CD pipeline: 1. **Data Collection:** A lightweight CLI uploads test results (JUnit XML format) from your CI runs to Trunk's platform. 2. **Analysis Engine:** Trunk's backend analyzes test results across runs, identifying statistical patterns of flakiness and correlating failures with code changes. 3. **Merge Queue Engine:** For merge queue, Trunk orchestrates speculative merges on your GitHub repository, creating temporary branches and triggering your existing CI workflows. 4. **API Layer:** Full REST API for programmatic access to all features — queue management, PR operations, test data, and configuration. 5. **Integrations:** Webhooks, Slack, Jira, Linear, and GitHub integrations enable seamless workflow automation. --- ## Legal - Terms of Service: https://trunk.io/terms - Privacy Policy: https://trunk.io/privacy - Master Services Agreement: https://trunk.io/msa - Subprocessors: https://trunk.io/subprocessors