Playwright CI/CD Pipeline

Multi-stage GitHub Actions pipeline with E2E tests, smoke tests, API contract validation, and multi-browser parallel execution.

Playwright GitHub Actions Node.js CI/CD

Pipeline Overview

A six-stage continuous integration pipeline that ensures code quality from first commit to final deploy.

Lint & Analysis ESLint, TypeScript
Smoke Tests Quick validation
E2E Tests Multi-browser
API Contract Schema validation
Security Scan Vulnerability check
Report Artifacts & logs

Key Features

Built for reliability, speed, and developer experience across the entire testing lifecycle.

Multi-Stage Pipeline

Lint, smoke, E2E, API, and security stages with fast-fail logic. Each stage gates the next for maximum confidence.

Page Object Model

Clean test architecture with reusable page components. Encapsulates locators and actions for maintainable tests.

Multi-Browser

Parallel execution across Chrome, Firefox, and Safari. Catches browser-specific regressions before they reach production.

API Contract Tests

JSON schema validation for every endpoint contract. Ensures API responses match expected structures and types.

Reusable Actions

Custom composite GitHub Actions for common test patterns. DRY workflow configuration across multiple repositories.

Multi-Environment

Staging and production configs with automatic environment switching. Seamless promotion from dev to live.

Test Example

Page Object Model pattern with Playwright's built-in assertions for reliable E2E testing.

tests/auth/login.spec.ts JavaScript
test('successful login redirects to dashboard', async ({ page }) => {
  const loginPage = new LoginPage(page);
  const dashboardPage = new DashboardPage(page);

  await loginPage.goto();
  await loginPage.login(validUser.email, validUser.password);

  await expect(dashboardPage.welcomeMessage).toBeVisible();
  await expect(page).toHaveURL(/.*dashboard/);
});

Pipeline Status

Real-time view of the CI/CD pipeline stages with pass/fail indicators and timing.

Lint & Analysis ESLint + TypeScript
static checks
0m 42s
Smoke Tests Critical path
quick validation
1m 18s
E2E Tests Chrome, Firefox
Safari parallel
4m 53s
API Contract JSON schema
validation
1m 05s
Security Scan Dependency audit
vulnerability check
running...
Report Artifacts, logs
test results
pending

Latest Test Run

Last run: April 12, 2026 • Browsers: Chromium, Firefox, WebKit

41
Total Tests
41
Passed
0
Failed
12.4s
Duration
100% pass rate
Login E2E Tests 9 / 9 passed
successful login redirects to dashboard1240 ms
displays error for invalid credentials890 ms
remembers user session1100 ms
logout clears session760 ms
redirects unauthenticated users340 ms
handles special characters in password920 ms
shows loading state during login450 ms
validates email format client-side280 ms
locks account after failed attempts2100 ms
Dashboard E2E Tests 10 / 10 passed
displays welcome message680 ms
loads user statistics920 ms
renders activity chart1340 ms
filters data by date range1100 ms
exports report as CSV890 ms
handles empty state gracefully420 ms
pagination works correctly760 ms
search filters results540 ms
responsive layout on mobile380 ms
accessibility: keyboard navigation1200 ms
Smoke Tests 7 / 7 passed
homepage loads successfully320 ms
login page is accessible280 ms
API health check returns 200140 ms
main navigation renders410 ms
critical CSS loads180 ms
no console errors on load350 ms
page title is correct120 ms
API Contract Tests 15 / 15 passed
GET /users returns valid schema45 ms
POST /users validates required fields38 ms
PUT /users/:id updates correctly52 ms
DELETE /users/:id returns 20028 ms
GET /orders returns paginated list41 ms
POST /orders creates with valid items56 ms
PATCH /orders/:id transitions state48 ms
GET /users/:id returns 404 for missing22 ms
auth token refresh works35 ms
rate limiting returns 429180 ms
CORS headers are present18 ms
content-type is application/json12 ms
pagination respects limit param32 ms
search endpoint filters correctly28 ms
error responses include message field15 ms