Skip to main content
Concurrency limits let you control what happens when multiple test runs are triggered at the same time. This is configured with two settings: scope and behavior.

Scope

The scope setting (test_run_concurrency_limit) defines the boundary within which only one run can be active at a time.

Behavior

The behavior setting (test_run_concurrency_behavior) defines what happens when a new run is triggered while the concurrency limit is reached.

How queueing works

When queue_new is enabled:
  • Only one run can be active (running) per scope at a time
  • If a new run is triggered while one is already running, it enters a Pending state
  • If another run is triggered while one is already pending, the older pending run is cancelled and replaced by the newer one
  • When the active run finishes, the most recent pending run is dispatched automatically
This “keep latest” strategy ensures you never waste resources running stale test runs.

Examples