How-toMay 5, 2026 · 5 min read

Setting Up VigilQA with GitHub Actions

From zero to automated test runs on every pull request — in under 10 minutes.

VigilQA exposes a CLI that drops cleanly into any CI environment. GitHub Actions is the most common setup, so here's a complete walkthrough — from adding your API key as a secret to getting test results in the dashboard on every PR.

Prerequisites

  • A VigilQA account (Starter or Pro)
  • A knowledge base committed to your repo under ai/knowledge_base/
  • An AI service API key (Mistral or other supported provider)
  • Your app running in CI (either deployed staging or a Docker service in the workflow)

Step 1 — Add your secrets

In your GitHub repo: Settings → Secrets and variables → Actions → New repository secret.

Add two secrets: VIGILQA_API_KEY (your VigilQA dashboard API key) and AI_SERVICE_API_KEY (your Mistral or other AI provider key).

Step 2 — Create the workflow file

name: VigilQA Tests

on:
  pull_request:
    branches: [main, develop]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Install VigilQA
        run: pip install vigilqa

      - name: Install Playwright browsers
        run: playwright install chromium

      - name: Run tests
        env:
          VIGILQA_API_KEY: ${{ secrets.VIGILQA_API_KEY }}
          AI_SERVICE_API_KEY: ${{ secrets.AI_SERVICE_API_KEY }}
          APP_BASE_URL: https://staging.yourapp.com
        run: |
          vigilqa run \
            --product myapp \
            --domain web,api \
            --base-url $APP_BASE_URL \
            --report-to-dashboard

Step 3 — Run only changed domains (optional)

For faster CI, you can use --domain to limit which test modules run. If your PR only touches API code, skip the Web UI run:

vigilqa run --product myapp --domain api --base-url $APP_BASE_URL

Step 4 — View results in the dashboard

With --report-to-dashboard, every run is posted to the VigilQA dashboard automatically. You'll see pass/fail counts, AI failure classifications, and any approval items (locator heals, coverage gaps) waiting for review.

Failing the build on test failure

By default, vigilqa run exits with code 1 if any tests fail, which GitHub Actions will treat as a failed step and block the merge. If you want to allow failures to pass CI (run but not block), use --no-fail-on-error and handle the exit code yourself.

That's it. From the moment this workflow file lands in main, every PR runs your full AI-generated test suite and posts results to the dashboard — no test maintenance required between releases.