Pipeline Overview
Automated test execution pipeline triggered on every push and pull request to ensure code quality and prevent regressions.
GitHub Actions Workflow
The complete workflow configuration for running Cypress E2E tests:
name: Cypress E2E Tests
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
jobs:
cypress-run:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run Cypress tests
uses: cypress-io/github-action@v6
with:
browser: chrome
headed: false
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: cypress-results
path: cypress/results
- name: Upload screenshots on failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-screenshots
path: cypress/screenshots
Pipeline Features
Automatic Triggers
Tests run automatically on every push to main/develop and on all pull requests.
Browser Testing
Tests execute in Chrome headless mode for fast, reliable execution.
Screenshot Capture
Automatic screenshot capture on test failures for easy debugging.
Video Recording
Full test execution video recording for comprehensive analysis.
Test Reports
HTML reports generated and uploaded as artifacts after each run.
Notifications
Instant notifications on test failures via GitHub status checks.
Newman API Tests Integration
API test automation using Newman CLI within the CI/CD pipeline:
name: API Tests
on:
push:
branches: [ main ]
schedule:
- cron: '0 6 * * *' # Daily at 6 AM
jobs:
api-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Newman
run: npm install -g newman newman-reporter-htmlextra
- name: Run API Tests
run: |
newman run postman/collection.json \
-e postman/environment.json \
--reporters cli,htmlextra \
--reporter-htmlextra-export reports/api-report.html
- name: Upload Report
uses: actions/upload-artifact@v4
with:
name: api-test-report
path: reports/
Benefits
Early Bug Detection
Catch bugs before they reach production by running tests on every code change.
Team Confidence
Developers can merge code with confidence knowing tests have passed.
Time Savings
Automated testing reduces manual testing effort and speeds up release cycles.