Back to Portfolio

Pipeline Overview

Automated test execution pipeline triggered on every push and pull request to ensure code quality and prevent regressions.

Push/PR
Checkout
Install Deps
Run Tests
Generate Report
Upload Artifacts

GitHub Actions Workflow

The complete workflow configuration for running Cypress E2E tests:

.github/workflows/cypress-tests.yml
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:

.github/workflows/api-tests.yml
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.