Next-Gen App & Browser Testing Cloud
Trusted by 2 Mn+ QAs & Devs to accelerate their release cycles

CI/CD integration for automated testing means test suites execute automatically on every commit, pull request, or scheduled build, with results returned as a pass/fail gate that can block a release. The 13 platforms that support this pattern are:
The Quick Start section below shows the common three-step pattern that applies regardless of which CI/CD tool you use.
The following three steps work for all 13 platforms. Steps 1 and 2 are identical regardless of CI/CD tool; only Step 3 varies by platform.
Add this as the first pipeline step on your runner. See the full download reference in the HyperExecute CLI documentation.
# Linux / macOS
curl -O https://downloads.lambdatest.com/hyperexecute/linux/hyperexecute
chmod +x hyperexecute
# Windows (PowerShell)
Invoke-WebRequest -Uri "https://downloads.lambdatest.com/hyperexecute/windows/hyperexecute.exe" -OutFile "hyperexecute.exe"The YAML config controls test discovery, runner OS, concurrency strategy, and retry behavior. All fields are documented in the HyperExecute YAML parameters reference.
# hyperexecute.yaml (place in project root)
version: 0.1
globalTimeout: 90
testSuiteTimeout: 90
testSuiteStep: 90
runson: linux
autosplit: true
retryOnFailure: true
maxRetries: 1
testDiscovery:
type: raw
mode: static
command: find . -name "test_*.py" -type f | sort -u
testRunnerCommand: pytest $testSet LT_USERNAME and LT_ACCESS_KEY as encrypted pipeline secrets (never hardcode credentials). The example below uses GitHub Actions; platform-specific YAML configs appear in each platform section below.
# .github/workflows/ci.yml
name: HyperExecute Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download CLI binary
run: |
curl -O https://downloads.lambdatest.com/hyperexecute/linux/hyperexecute
chmod +x hyperexecute
- name: Trigger tests
env:
LT_USERNAME: ${{ secrets.LT_USERNAME }}
LT_ACCESS_KEY: ${{ secrets.LT_ACCESS_KEY }}
run: ./hyperexecute --user $LT_USERNAME --key $LT_ACCESS_KEY --config hyperexecute.yamlEach section below follows the same structure: integration method, required file/path, trigger command, parallelism support, exit code behavior, and best-fit use case. YAML configs are provided for the five most widely used platforms.
HyperExecute is a test orchestration platform from TestMu AI that connects to CI/CD pipelines through a CLI binary.
The binary downloads for Windows, macOS, or Linux, takes a YAML config file as input, and submits the test job to the platform from within any pipeline step that supports shell commands.
hyperexecute.yaml in the project root; CLI binary downloaded at pipeline start../hyperexecute --user $LT_USERNAME --key $LT_ACCESS_KEY --config hyperexecute.yamlhyperexecute.yaml. For suites of 200+ tests, parallel sharding can reduce wall-clock time by up to 70% compared to sequential single-VM execution.Full integration guides are in the HyperExecute getting-started documentation.
run step..github/workflows/ci.ymlon: [push, pull_request] with run: ./hyperexecute ... in a job step.strategy.matrix) plus HyperExecute automatic sharding.# .github/workflows/ci.yml
name: HyperExecute Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download CLI binary
run: |
curl -O https://downloads.lambdatest.com/hyperexecute/linux/hyperexecute
chmod +x hyperexecute
- name: Trigger tests
env:
LT_USERNAME: ${{ secrets.LT_USERNAME }}
LT_ACCESS_KEY: ${{ secrets.LT_ACCESS_KEY }}
run: ./hyperexecute --user $LT_USERNAME --key $LT_ACCESS_KEY --config hyperexecute.yamlJenkinsfile at the repository root.sh './hyperexecute ...' inside a stage block; credentials stored as Jenkins credentials (credentials() helper).// Jenkinsfile (repository root)
pipeline {
agent any
environment {
LT_USERNAME = credentials('lt-username')
LT_ACCESS_KEY = credentials('lt-access-key')
}
stages {
stage('Download CLI binary') {
steps {
sh 'curl -O https://downloads.lambdatest.com/hyperexecute/linux/hyperexecute && chmod +x hyperexecute'
}
}
stage('Run Tests') {
steps {
sh './hyperexecute --user $LT_USERNAME --key $LT_ACCESS_KEY --config hyperexecute.yaml'
}
}
}
}script block in .gitlab-ci.yml; CLI binary called as a script command..gitlab-ci.yml at the repository root.- ./hyperexecute --user $LT_USERNAME --key $LT_ACCESS_KEY --config hyperexecute.yaml in a job's script list.parallel keyword) plus HyperExecute automatic sharding.# .gitlab-ci.yml (repository root)
test:
image: ubuntu:22.04
variables:
LT_USERNAME: $LT_USERNAME
LT_ACCESS_KEY: $LT_ACCESS_KEY
script:
- curl -O https://downloads.lambdatest.com/hyperexecute/linux/hyperexecute && chmod +x hyperexecute
- ./hyperexecute --user $LT_USERNAME --key $LT_ACCESS_KEY --config hyperexecute.yamlrun step in .circleci/config.yml; orbs available for reusable config packages..circleci/config.ymlcommand: ./hyperexecute ... in a job step; credentials set as CircleCI environment variables.parallelism key splits jobs across containers natively.# .circleci/config.yml
version: 2.1
jobs:
test:
docker:
- image: cimg/base:current
steps:
- checkout
- run:
name: Download CLI binary
command: curl -O https://downloads.lambdatest.com/hyperexecute/linux/hyperexecute && chmod +x hyperexecute
- run:
name: Trigger tests
command: ./hyperexecute --user $LT_USERNAME --key $LT_ACCESS_KEY --config hyperexecute.yaml
workflows:
build-and-test:
jobs:
- testscript step in azure-pipelines.yml; credentials stored as pipeline variables or variable groups.azure-pipelines.yml at the repository root.script: ./hyperexecute --user $(LT_USERNAME) --key $(LT_ACCESS_KEY) --config hyperexecute.yaml# azure-pipelines.yml (repository root)
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- script: |
curl -O https://downloads.lambdatest.com/hyperexecute/linux/hyperexecute
chmod +x hyperexecute
displayName: Download CLI binary
- script: ./hyperexecute --user $(LT_USERNAME) --key $(LT_ACCESS_KEY) --config hyperexecute.yaml
displayName: Trigger tests
env:
LT_USERNAME: $(LT_USERNAME)
LT_ACCESS_KEY: $(LT_ACCESS_KEY)buildspec.yml shell command triggered from a CodePipeline stage.buildspec.yml at the repository or S3 root; credentials stored in AWS Secrets Manager or CodeBuild environment variables../hyperexecute --user $LT_USERNAME --key $LT_ACCESS_KEY --config hyperexecute.yaml in the build.commands block of buildspec.yml.script step in bitbucket-pipelines.yml; credentials stored as Bitbucket repository variables.bitbucket-pipelines.yml at the repository root.- ./hyperexecute --user $LT_USERNAME --key $LT_ACCESS_KEY --config hyperexecute.yaml in a step's script list.script block in .travis.yml; credentials set as Travis CI environment variables..travis.yml at the repository root.script: ./hyperexecute --user $LT_USERNAME --key $LT_ACCESS_KEY --config hyperexecute.yamlenv matrix) plus HyperExecute automatic sharding..teamcity/settings.kts)..teamcity/settings.kts); credentials stored as TeamCity password parameters../hyperexecute --user %LT_USERNAME% --key %LT_ACCESS_KEY% --config hyperexecute.yaml as a Command Line runner step../hyperexecute --user $LT_USERNAME --key $LT_ACCESS_KEY --config hyperexecute.yaml as an Exec task../hyperexecute --user $bamboo_LT_USERNAME --key $bamboo_LT_ACCESS_KEY --config hyperexecute.yaml as a Script task..semaphore/semaphore.yml; credentials stored as Semaphore secrets..semaphore/semaphore.yml at the repository root../hyperexecute --user $LT_USERNAME --key $LT_ACCESS_KEY --config hyperexecute.yaml as a job command.Token definitions: Yes = supported natively; No = not supported; Native = first-class built-in feature; Optional = available via plugin or add-on.
| Platform | Self-hosted | Cloud | CLI-only | Plugin available | Caching | Matrix builds | Retry/flaky handling |
|---|---|---|---|---|---|---|---|
| HyperExecute | No | Yes | Yes | No | Yes | Yes | Yes (Auto Heal) |
| Jenkins | Yes | Optional | No | Yes | Yes | Yes | Optional (plugin) |
| GitHub Actions | Optional | Yes | No | Yes (Marketplace) | Native | Native | Optional |
| GitLab CI | Optional | Yes | No | No | Native | Yes | Optional |
| CircleCI | No | Yes | No | Yes (Orbs) | Native | Yes | Optional |
| Azure DevOps | Optional | Yes | No | Yes | Yes | Native | Optional |
| AWS CodePipeline | No | Yes | No | No | Yes (CodeBuild) | Optional | No |
| Bitbucket Pipelines | No | Yes | No | No | Yes | Yes | No |
| Travis CI | No | Yes | No | No | Yes | Yes | No |
| TeamCity | Yes | Optional | No | Yes | Yes | Yes | Optional |
| GoCD | Yes | No | No | Yes | Yes | Yes | No |
| Bamboo CI | Yes | Optional | No | Yes | Yes | Yes | No |
| Semaphore | No | Yes | No | No | Yes | Yes | No |
Symptom: CLI exits with "Unauthorized" or HTTP 401 immediately after launch.
LT_USERNAME and LT_ACCESS_KEY are set as encrypted pipeline secrets, not hardcoded in the YAML config.Symptom: CLI hangs on startup or exits with "connection refused" or a timeout error.
downloads.lambdatest.com and api.hyperexecute.cloud to your runner's outbound network allowlist.HTTPS_PROXY=https://proxy.company.com:port as an environment variable before the CLI step.Symptom: Pipeline job stays in "queued" or "pending" state and never starts.
sudo systemctl status [runner-service-name].Symptom: CLI exits immediately with "file not found" or "no such file or directory" referencing the YAML config.
hyperexecute.yaml exists at the path passed to --config.ls -la immediately before the CLI step to verify the file is present in the working directory.Symptom: Tests run but CLI exits with "upload: permission denied" or the artifact upload step times out.
uploadArtifacts in hyperexecute.yaml exists before the test run (create it in a prior pipeline step if needed).CI/CD pipeline integration means your test suites run automatically on every code commit, pull request, or scheduled build, with results feeding back into the pipeline to gate releases. Without this, test execution is a manual step that slows delivery and misses regressions between releases.
HyperExecute has documented integrations with Jenkins, GitHub Actions, GitLab CI, CircleCI, Azure DevOps, AWS CodePipeline, Bitbucket Pipelines, Travis CI, TeamCity, GoCD, Bamboo CI, and Semaphore. Integration works through the HyperExecute CLI binary, which runs as a shell step in any of these pipelines.
The HyperExecute CLI is a command-line binary that triggers test execution on the HyperExecute platform from any environment. You download the binary for your pipeline runner's OS, pass credentials and a YAML config file, and the CLI submits the test job.
Results are returned to the CI dashboard as pass/fail signals.
Plugin-based integrations install into the CI tool and provide a graphical interface - Jenkins plugins are the common example.
CLI-based integrations run as shell commands within a pipeline step and work with any CI tool that supports shell execution, making them more portable across different CI systems.
Configure a pipeline job triggered by the pull_request event in your CI tool, add a step that runs your test command or HyperExecute CLI binary, and set the pipeline to fail if the step returns a non-zero exit code. This blocks the pull request from merging until tests pass.
Parallel execution splits the test suite across multiple workers running simultaneously. A suite taking 60 minutes sequentially can complete in 10 minutes across six parallel workers.
HyperExecute uses automatic test sharding and execution reordering to distribute tests optimally without manual configuration.
GitHub Actions is the natural choice for GitHub users since it runs workflows directly from the repository with no external CI tool required. Teams that need parallel test execution across browsers and devices can combine GitHub Actions with HyperExecute through a single workflow step.
Yes. The HyperExecute CLI binary runs on the pipeline runner whether it is cloud-hosted or self-hosted. Teams using self-hosted Jenkins agents, GitLab runners, or GitHub Actions self-hosted runners trigger HyperExecute the same way, as long as the runner can reach the HyperExecute API.
KaneAI - Testing Assistant
World’s first AI-Native E2E testing agent.

TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance