Skip to content

This repository presents a unified automated testing platform. We use Docker Compose to fully isolate the testing environments, ensuring stable and reproducible test runs for various components (E2E, API, and Integration).

License

Notifications You must be signed in to change notification settings

Mybono/qa-portfolio

Repository files navigation

QA Portfolio – Automated Testing Platform 🚀

🛠️ Tech Stack & Status

Playwright TypeScript Docker Star on GitHub

CI Status

This repository presents a unified automated testing platform. We use Docker Compose to fully isolate the testing environments, ensuring stable and reproducible test runs for various components (E2E, API, and Integration).

💫 If you like this project, please consider giving it a star!
It helps others find it and keeps me motivated

Requirements

  • Docker Desktop installed and running.
  • The docker compose command is available (standard in modern Docker Desktop installations).

🚀 Quick Start: Run All Tests (Recommended)

The most efficient way to run the End-to-End tests and automatically generate the HTML report is via a single command. This command handles the container build, dependency installation, test execution, and report opening.

Prerequisite: Ensure Docker Desktop is running.

docker compose up --build -d; docker compose exec -w /work/playwright_ts playwright_ts sh -c "npm install && npx playwright test --reporter=html"

💡 Tip: To open the HTML report after tests, you can run:

# macOS
open ./playwright_ts/playwright-report/index.html
# Windows
start ./playwright_ts/playwright-report/index.html

🐳 Run from Docker Hub

You can run the full Playwright + Docker + Allure CI/CD pipeline directly from Docker Hub —
no cloning, no setup, just one command 🚀

docker run --rm -it mybono/qa-portfolio:latest

🧹 Cleaning Up Resources

To stop and remove all containers, networks, and volumes created by docker compose after the tests are complete and free up system resources:

docker compose down

🏗️ Core Architecture (Docker Compose)

The project uses docker compose to orchestrate several key services:

Service Name Technology Role
SDK TypeScript Shared library for Playwright TypeScript projects (playwright_ts).
playwright_ts Playwright / TypeScript Environment for running End-to-End tests using Node.js.

🔁 CI/CD Workflow Overview

Our repository uses GitHub Actions to enforce quality and safety checks on all pull requests.

🔍 Pull Request Workflow

  • Trigger: Runs on pull_request events targeting the main branch (opened, synchronize, reopened).
  • Purpose: Executes a full CI workflow for every PR before merge.

Jobs:

  • 🚀 pr-checkmate A set of automated checks for Pull Requests

    • ESLint checks
    • Dependency change detection
    • Prettier auto-formatting
    • Spellcheck (cspell)
    • NPM audit
    • Scans for secrets using
  • ✅ pr-validation

    • Checks PR size (number of files and lines changed)
    • Generates PR metrics summary for quick review
  • 📝 update-changelog

    • Automatically updates CHANGELOG.md based on conventional commits
    • Determines semantic version bump (patch/minor/major) according to commit types
  • 🤖 auto-merge

    • Automatically merges the PR once all checks pass and changelog is updated

Workflow Example

About

This repository presents a unified automated testing platform. We use Docker Compose to fully isolate the testing environments, ensuring stable and reproducible test runs for various components (E2E, API, and Integration).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •