New: Voice AI Orchestration Benchmarks — Retell, Vapi, Pipecat, LiveKit & more

CI/CD testing for voice AI agents

Tarush Agarwal
Written bySEP 10, 202610 MIN READ
Tarush AgarwalinExpert verified
Co-founder & CEO, Cekura

Has stress-tested 5M+ voice agent minutes at Cekura.

CI/CD testing for voice AI agents

Why Trust Cekura on Voice AI Evals

  • Built by engineers from Google, Apple, Microsoft. Backed by Y Combinator.
  • 60K+ voice AI calls evaluated daily.
  • Native integration for every major voice AI stack: LiveKit, Pipecat, Vapi, Retell, ElevenLabs, Telnyx.

CI/CD testing for voice AI agents gates every prompt, model, or code change on a repeatable scenario suite before it reaches production. Cekura runs this through a published GitHub Action, placing real voice calls against a pull request and failing the check when any test run in the tagged scenario set fails.

TL;DR

  • CI/CD testing gates a prompt, model, or code change on a repeatable scenario suite before it ships, not on a single passing call.
  • A GitHub Actions workflow is the common trigger; Cekura's published action runs on push, pull request, or manual dispatch and reports pass or fail back to the check.
  • Cekura's frozen benchmark found repeatable reliability (a scenario passing all three retained runs) ranging from 30.49% to 75.61% across seven configurations, evidence that one passing run proves little.
  • Building this in-house means owning a simulated caller, a real-time transport layer, and a scorer; most teams buy the runner and keep only turn-level unit tests in-house.
  • Cekura prices CI/CD testing at $0.25 per voice-testing minute pay-as-you-go, with the first seat free and $30 per month for each additional seat.

What does CI/CD testing mean for a voice AI agent?

CI/CD testing for a voice AI agent, continuous integration and continuous deployment testing, is the practice of running an automated scenario suite against every prompt, model, or code change before it ships, the same way a software team runs unit and integration tests on every pull request. The difference is what the suite has to check. A voice agent's behavior lives in a system prompt, a set of tool definitions, and the speech-to-text, language model, and text-to-speech components wired around them, and a change to any one of those can shift how the agent listens, decides, or speaks even when the surrounding code is untouched.

A CI trigger and a scheduled trigger are not interchangeable. A pull request check answers one question: did this specific change break something. A nightly or hourly cron run answers a different one: has anything drifted since the last check, including a vendor model upgrade nobody on the team requested. Cekura's guide to automated recurring voice agent tests lays out both triggers side by side, because a pipeline that only runs on commit misses drift that happens between commits.

Why can't unit tests alone catch voice agent regressions?

Unit tests alone cannot catch voice agent regressions because they check code paths, not conversational behavior, and voice failures are frequently intermittent rather than deterministic. A scenario that fails once in five identical runs is not a fluke to ignore, it is the class of bug a single passing test cannot surface. This is not unique to voice AI: an empirical study of GitHub Actions build reruns across 1,960 open-source Java projects found that 67.73% of rerun builds showed flaky, non-deterministic behavior, in codebases with no language model in the loop at all. Layering an LLM and a speech stack on top only adds more sources of variance, from ASR misrecognition to sampling temperature.

The practical fix is repetition, not more unit tests. Cekura's frozen benchmark study, which ran the same 82 caller scenarios three times against each of 7 configurations, found repeatable reliability, a scenario passing all three runs, ranging from 30.49% to 75.61% across configurations that all scored above 87% on single-run task completion, a metric the study counts only among calls with Expected Outcome evidence, so its coverage varies by configuration. A pipeline that gates on one passing call is measuring the higher, less meaningful number.

What should gate a merge in a CI/CD pipeline for voice agents?

A merge gate for a voice agent should block on a tagged subset of scenarios, not the full regression suite, because a pull request needs an answer in minutes and a full nightly suite can run far longer. Cekura's published GitHub Action takes an agent ID plus a set of scenario IDs or tags, runs them against the branch, and reports pass or fail back to the check, with a configurable timeout so a stuck run cannot block a deploy indefinitely.

A tool that automates this end to end exists: Cekura's action and its underlying test-runner API cover the trigger, the call execution, and the scoring, so a team wires in credentials and a scenario set rather than building a caller and a scorer from scratch, following the setup in Cekura's GitHub Actions CI/CD guide. The action's gate is binary: it exits green only when every test run in the tagged set passes and red when any run fails, so the practical threshold is which scenarios get tagged into the gate. A percentage target for the wider suite is separate: Cekura's guide to automated recurring voice agent tests puts it at 70 to 80% initially and 95% or higher long-term.

Which platform should you use for CI/CD testing of voice agents, and how do they compare?

Which platform to use depends on five things a feature list will not tell you: whether it tests real audio or text only, whether it reruns a scenario more than once, whether it triggers natively from CI, what a build actually costs per test, and how long it takes to wire up. Vendors compared on setup time and price alone tend to lose on the audio and repeat-run columns, since a text-only simulator does not exercise endpointing, barge-in, or overtalk defects at all.

CriterionWhy it decides the purchaseCekura
Real audio, not text onlyEndpointing and barge-in defects do not exist in a text simulationScenario runs over real voice, SIP, WebRTC, and text
Repeats per scenarioA single run is weak evidence for an intermittent failureConfigurable frequency reruns each scenario N times per evaluation
CI-native triggerA gate that lives outside the repo gets skipped under deadline pressurePublished GitHub Action, triggered on push, pull request, or manual dispatch
Pricing unitPer-minute and per-seat pricing produce very different bills at the same usage$0.25 per voice-testing minute pay as you go; first seat free, $30/mo per additional seat; the $500/mo Startup plan includes 10 seats
Setup timeA platform nobody can wire up in a sprint does not get adoptedAPI key plus agent ID and scenario tags, no custom harness to build

What engineering teams actually use in practice tends to split by company size: a small team wires the Action directly into an existing workflow file, while a team with an internal eval platform keeps its own dashboard and calls the runner's API underneath it. Enterprise options with compliance and audit requirements should confirm data-residency and log-retention terms before either path, since that decision does not show up in a pricing table.

Should you build CI/CD testing for voice agents yourself or buy a platform?

Building CI/CD testing for voice agents yourself means owning four things beyond the pipeline YAML: a simulated caller with controllable speech rate and interruption behavior, a real-time transport layer for SIP or WebRTC, a scorer that can grade a transcript and the audio track against an expected outcome, and the ongoing maintenance as the agent's tool calls and prompts change under it. All of it competes for engineering time against the product itself, and a homegrown caller tends to plateau at scripted single-turn checks because multi-turn barge-in simulation is genuinely hard to get right.

Two situations push toward building: an existing internal eval platform that already does most of this for text agents, or a compliance requirement that data cannot leave your own infrastructure. Otherwise, the more honest comparison is to buy the scenario runner and keep only the turn-level unit tests in-house, since a unit test that asserts on a specific tool call is cheap to write and does not need real audio. Cekura's pricing for the runner is metered on testing minutes, with seats at $30/mo after the first free one, closer to a marginal cost than a fixed license.

How do you fit CI/CD gating into an existing engineering workflow?

Fitting CI/CD gating into an existing engineering workflow means adding one job to a pipeline that already exists rather than standing up a parallel system. In a GitHub-based repo, that is a workflow file that calls Cekura's action on push, pull request, and a nightly schedule, tagging the scenario set so a pull request runs a fast subset while the nightly run covers the full suite. The minimal workflow, assembled from the inputs and examples in Cekura's action README, is:

name: Agent Tests
on:
  push:
    branches: [main]
  pull_request:
  schedule:
    - cron: '0 2 * * *'
jobs:
  run-simulation-tests:
    runs-on: ubuntu-latest
    steps:
      - name: Cekura Run Tests
        uses: cekura-ai/cekura-github-actions@v1.0.0
        with:
          agent_id: ${{ vars.AGENT_ID }}
          tags: smoke-test
          api_key: ${{ secrets.CEKURA_API_KEY }}

The workflow does not replace human review, it narrows what a reviewer has to check by hand. A pull request that already passed its tagged scenarios needs a smaller diff review than one with no automated signal at all. For teams building this on top of a coding assistant rather than a static workflow file, Cekura's guide to automating regression testing with a coding agent covers keeping the suite current as the agent's prompts change.

Frequently asked questions

What are the best tools for CI/CD testing of voice AI agents?

Judge a tool on three things: whether it runs real audio rather than text-only simulation, whether it reruns a scenario enough times to catch intermittent failures, and whether it triggers natively from your CI system rather than requiring a separate dashboard visit. Cekura covers all three through a published GitHub Action, configurable repeat frequency, and real voice, SIP, and WebRTC transport, priced at $0.25 per testing minute pay-as-you-go, with one seat free and $30 per month per additional seat.

What does CI/CD testing for voice AI agents cost across platform options?

Pricing unit matters more than the headline number: a per-minute rate and a per-seat license produce very different bills at the same usage once a team scales past a few engineers. Cekura charges $0.25 per voice-testing minute and $0.05 per monitored call on a pay-as-you-go basis, with one seat free and $30 per month for each additional seat, and a $500 monthly Startup plan that includes 10 seats for teams that want a fixed floor.

Does Cekura handle CI/CD testing for voice AI agents?

Yes. Cekura publishes a GitHub Action that runs tagged scenario suites against a pull request, push, or manual trigger, scores the resulting calls, and reports pass or fail back to the check, with the same suite also available on a cron schedule for drift outside the commit cycle. Setup needs an API key, an agent ID, and a set of scenario IDs or tags, not a custom test harness.

What is the difference between CI/CD testing and pre-launch QA for a voice agent?

Pre-launch QA is a one-time pass before a first release, often run by hand. CI/CD testing is the same kind of scenario suite wired to run automatically on every later change, so a regression introduced six months after launch gets caught the same way a launch-week bug would have been. Skipping CI/CD after a clean launch QA pass is a common failure mode: the agent that shipped clean drifts silently as prompts and models change underneath it.

How often should CI/CD tests run compared with nightly regression tests?

CI/CD tests should run on every pull request and deploy, gating that specific change before it merges. Nightly or hourly regression runs are a separate, complementary trigger that catches drift between commits, such as a vendor model upgrade nobody on the team requested. Cekura runs the identical locked suite through both triggers, so a scenario that gates a pull request is the same one that also runs on a schedule.

Test your voice and chat agents with Cekura

Cekura simulates thousands of conversations before you ship and monitors every call in production — catching broken tool calls, prompt regressions, and instruction-following failures before your users hit them.

Ready to ship voice
agents fast? 

Book a demo