Skip to main content

CI/CD Integration

RoostGPT UI test generation is built for automation-first environments. Run it headlessly in any CI/CD pipeline with zero manual intervention.

Non-Interactive Execution

Configure your .env file for fully automated runs:

# ui-test.env
TEST_TYPE=ui-test
TEST_FRAMEWORK=playwright
URLS_TO_TEST=https://staging.your-app.com
AI_TYPE=openai
OPENAI_API_KEY=sk-your-key-here
OPENAI_API_MODEL=gpt-4o
EXPLORE_MODE=balanced
BROWSER_USE_HEADLESS=true
GENERATE_AFTER_EXPLORE=true
ENABLE_POM_TESTS=true
roostgpt test create -c ui-test.env

No display server is required when headless mode is enabled.

GitHub Actions Example

name: UI Test Generation

on:
push:
branches: [main]
schedule:
- cron: '0 6 * * 1' # Weekly on Monday at 6am

jobs:
generate-ui-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Create UI test config
run: |
cat > ui-test.env << 'EOF'
TEST_TYPE=ui-test
TEST_FRAMEWORK=playwright
URLS_TO_TEST=${{ vars.STAGING_URL }}
AI_TYPE=openai
OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}
OPENAI_API_MODEL=gpt-4o
EXPLORE_MODE=balanced
BROWSER_USE_HEADLESS=true
GENERATE_AFTER_EXPLORE=true
ENABLE_POM_TESTS=true
EOF

- name: Generate UI Tests
run: roostgpt test create -c ui-test.env

- name: Run Generated Tests
run: |
cd playwright_tests
npm install
npx playwright install --with-deps chromium
npx playwright test

- name: Upload Reports
if: always()
uses: actions/upload-artifact@v4
with:
name: ui-test-reports
path: '**/scenarios/reports/*.pdf'

Jenkins Pipeline Example

pipeline {
agent any

stages {
stage('Generate UI Tests') {
steps {
writeFile file: 'ui-test.env', text: """
TEST_TYPE=ui-test
TEST_FRAMEWORK=playwright
URLS_TO_TEST=${env.STAGING_URL}
AI_TYPE=openai
OPENAI_API_KEY=${env.OPENAI_API_KEY}
OPENAI_API_MODEL=gpt-4o
EXPLORE_MODE=balanced
BROWSER_USE_HEADLESS=true
GENERATE_AFTER_EXPLORE=true
ENABLE_POM_TESTS=true
"""
sh 'roostgpt test create -c ui-test.env'
}
}

stage('Run Tests') {
steps {
dir('playwright_tests') {
sh 'npm install'
sh 'npx playwright install --with-deps chromium'
sh 'npx playwright test'
}
}
}
}

post {
always {
archiveArtifacts artifacts: '**/scenarios/reports/*.pdf', allowEmptyArchive: true
}
}
}

Docker Support

RoostGPT supports containerized execution for consistent, reproducible runs across environments. Docker images include all browser dependencies pre-installed — no need to install Playwright browsers separately.

Platform Support

RoostGPT UI test generation runs on macOS (Intel + Apple Silicon), Linux, and Windows. No additional runtime dependencies are required beyond what the RoostGPT CLI provides.

Pipeline-Friendly Configuration

VariableDefaultDescription
GENERATE_AFTER_EXPLOREfalseAuto-generate tests without prompt
BROWSER_USE_HEADLESStrueRun browser without display
SKIP_DEPENDENCY_INSTALLATIONfalseSkip npm install if deps are cached
ENABLE_TOKEN_TRACKINGtrueTrack AI token usage for cost reporting

Next Steps