Integrate Euriqa with your CI/CD pipeline. Native GitHub Actions and GitLab CI integration with zero-config detection. More providers coming soon.
Euriqa integrates natively with GitHub Actions and GitLab CI. Support for additional providers is coming soon. In most cases, you only need to set two environment variables — EURIQA_API_KEY and EURIQA_PROJECT_ID — and the reporter handles everything else: detecting the CI provider, capturing build metadata, resolving git information, and uploading artifacts.
playwright.config.ts before setting up CI/CD. See the Reporter Configuration page for details.Euriqa provides full native integration with GitHub Actions and GitLab CI, including auto-detection, metadata capture, and sharding support. For other CI systems, basic support is available via the generic CI environment variable.
| CI Provider | Support Level | Detection Variable |
|---|---|---|
| GitHub Actions | Full native integration | GITHUB_ACTIONS |
| GitLab CI | Full native integration | GITLAB_CI |
| Other CI systems | Basic (via env vars) | CI |
When running in CI, Euriqa automatically captures the CI provider, build ID, build URL, branch, commit SHA, commit message, author, hostname, OS, and Node.js version.
Add your Euriqa credentials as repository secrets, then reference them in your workflow file. The reporter auto-detects GitHub Actions via the GITHUB_ACTIONS environment variable and captures branch, commit, and build metadata automatically.
name: Playwright Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: npm ci
- name: Install Playwright browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npx playwright test
env:
EURIQA_API_KEY: ${{ secrets.EURIQA_API_KEY }}
EURIQA_PROJECT_ID: ${{ secrets.EURIQA_PROJECT_ID }}
- name: Upload Playwright report
uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30Auto-detected metadata from GitHub Actions:
GITHUB_REF_NAME or GITHUB_HEAD_REFGITHUB_SHAGITHUB_SERVER_URL, GITHUB_REPOSITORY, and GITHUB_RUN_IDGITHUB_RUN_IDAdd your Euriqa credentials as CI/CD variables in your GitLab project settings (Settings > CI/CD > Variables), then reference them in your pipeline configuration.
stages:
- test
playwright-tests:
stage: test
image: mcr.microsoft.com/playwright:v1.48.0-jammy
script:
- npm ci
- npx playwright test
variables:
EURIQA_API_KEY: $EURIQA_API_KEY
EURIQA_PROJECT_ID: $EURIQA_PROJECT_ID
artifacts:
when: always
paths:
- playwright-report/
expire_in: 30 days
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCHAuto-detected metadata from GitLab CI: branch from CI_COMMIT_BRANCH, commit SHA from CI_COMMIT_SHA, build URL from CI_PIPELINE_URL, and build ID from CI_PIPELINE_ID.
Euriqa works with any CI system that sets the CI environment variable. Just set two env vars and run your tests:
# Set the required environment variables
export EURIQA_API_KEY=your-api-key
export EURIQA_PROJECT_ID=your-project-id
# Run your tests as usual
npx playwright testBasic metadata is captured automatically via git commands: branch, commit SHA, commit message, and author. If your CI provider does not set a standard CI detection variable, you can explicitly set one:
export CI=true
export EURIQA_API_KEY=your-api-key
export EURIQA_PROJECT_ID=your-project-id
npx playwright testYou can also provide additional metadata via environment variables to enrich your test reports:
EURIQA_BRANCHstringEURIQA_COMMIT_SHAstringEURIQA_COMMIT_MESSAGEstringEURIQA_AUTHORstringYou can override any auto-detected metadata using environment variables or reporter configuration. This is useful when the auto-detected values are incorrect or when you want to add additional context.
# Override branch name
export EURIQA_BRANCH=feature/custom-branch
# Override commit SHA
export EURIQA_COMMIT_SHA=abc123def456
# Override commit message
export EURIQA_COMMIT_MESSAGE="feat: implement new login flow"
# Override author
export EURIQA_AUTHOR="Jane Doe"
# Custom run title
export EURIQA_RUN_TITLE="Nightly regression suite"
npx playwright testreporter: [
['@euriqa/euriqa-playwright', {
apiKey: process.env.EURIQA_API_KEY,
projectId: process.env.EURIQA_PROJECT_ID,
runTitle: 'Nightly Regression - ' + new Date().toISOString().split('T')[0],
}],
]Precedence order: Environment variables take the highest precedence, followed by reporter config values, followed by CI-specific auto-detected values, followed by Git command auto-detection.
runTitle option is useful for distinguishing between different types of test runs (e.g., nightly regressions, smoke tests, full suites) in the Euriqa dashboard.If test results are not appearing in the Euriqa dashboard, check the following:
EURIQA_API_KEY and EURIQA_PROJECT_ID are set correctly in your CI environmentEURIQA_DEBUG=true) to see if the reporter detects your CI environmenthttps://app.euriqa.dev. If behind a proxy, configure the proxy optionallowLocalRuns: true is set in your reporter config (paid feature)@euriqa/euriqa-playwright# Run with debug logging to see detailed reporter output
EURIQA_DEBUG=true npx playwright test