Appearance
GitHub Actions Integration
Prerequisites
- GitHub Repository with code
- BrowserStack Code Quality instance running at public URL (e.g.,
https://bscq.example.com) - Repository Added to BrowserStack Code Quality (see Configure Your First Scan)
- Access Token from BrowserStack Code Quality User Settings
- Docker available in runner (standard on
ubuntu-latest)
Verify BrowserStack Code Quality URL is publicly accessible:
bash
curl -I https://your-bscq-instance.comConfiguration
GitHub Secret
Store your BrowserStack Code Quality access token as a GitHub Secret:
- Go to Settings > Secrets and variables > Actions
- Click New repository secret
- Name:
BSCQ_TOKEN - Value:
<your-access-token> - Click Add secret
Workflow File
Create .github/workflows/embold-scan.yml:
yaml
name: BrowserStack Code Quality Scan
on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop
jobs:
embold-scan:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run BrowserStack Code Quality scan
run: |
docker run --rm \
-v "${{ github.workspace }}":/app \
-e BSCQ_SERVER_URL="https://your-bscq-instance.com" \
-e BSCQ_TOKEN="${{ secrets.BSCQ_TOKEN }}" \
-e BSCQ_PROJECT_ID="<project-id>" \
-e BSCQ_REPOSITORY_ID="<repository-id>" \
-e CI_COMMIT_SHA="${{ github.sha }}" \
-e CI_BRANCH_NAME="${{ github.ref_name }}" \
browserstack/embold:latest scan
- name: Check quality gate
run: |
docker run --rm \
-v "${{ github.workspace }}":/app \
-e BSCQ_SERVER_URL="https://your-bscq-instance.com" \
-e BSCQ_TOKEN="${{ secrets.BSCQ_TOKEN }}" \
-e BSCQ_PROJECT_ID="<project-id>" \
browserstack/embold:latest gate-checkParameters
| Variable | Description | Example |
|---|---|---|
BSCQ_SERVER_URL | BrowserStack Code Quality instance URL | https://bscq.example.com |
BSCQ_TOKEN | API token from User Settings | Store in GitHub Secret |
BSCQ_PROJECT_ID | Project ID from BrowserStack Code Quality | 12345 |
BSCQ_REPOSITORY_ID | Repository ID from BrowserStack Code Quality | 67890 |
CI_COMMIT_SHA | Git commit hash | ${{ github.sha }} |
CI_BRANCH_NAME | Branch name | ${{ github.ref_name }} |
Find IDs in BrowserStack Code Quality:
- Project Settings shows Project ID
- Repository Settings shows Repository ID
Verification
View Logs
- Go to Actions tab in your GitHub repository
- Click the workflow run
- Under Jobs, click embold-scan
- View Run BrowserStack Code Quality scan step for output:
[INFO] Connecting to https://your-bscq-instance.com
[INFO] Scanning repository: main-app
[INFO] Analyzing 1,245 files
[INFO] Detected 23 issues
[INFO] Quality score: 3.2/5.0
[INFO] Critical issues: 0
[OK] Quality gate passedCheck Status Checks
- On your Pull Request, scroll to Checks section
- Verify BrowserStack Code Quality Scan passes or shows gate details
- Failing gate displays:
- Reason for failure (e.g., "Quality Score 2.1 < 2.5")
- Number of issues introduced
Troubleshooting
Authentication Failed
- Verify
BSCQ_TOKENis correct in GitHub Secrets - Token expires after 90 days; regenerate if needed
Docker Image Pull Failed
- Check internet connectivity in runner
- Verify Docker registry access (may need proxy configuration)
Gate Check Failed in PR
- View the
gate-checkstep output for threshold violations - Configure gates in Project Settings > Quality Gates
