PHPackages                             hatchyu/laravel-pipeline-engine - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. hatchyu/laravel-pipeline-engine

ActiveLibrary[Testing &amp; Quality](/categories/testing)

hatchyu/laravel-pipeline-engine
===============================

A reusable, configurable, and extensible CI/CD pipeline engine for Laravel projects.

v0.1.1(today)00MITShellPHP ^8.1

Since Jun 30Pushed todayCompare

[ Source](https://github.com/rajeshmk/laravel-pipeline-engine)[ Packagist](https://packagist.org/packages/hatchyu/laravel-pipeline-engine)[ RSS](/packages/hatchyu-laravel-pipeline-engine/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (4)Versions (4)Used By (0)

Laravel Pipeline Engine
=======================

[](#laravel-pipeline-engine)

[![Latest Version on Packagist](https://camo.githubusercontent.com/1862903febcbeccc8af1389db2021fd3dd49e8ac883365a168ec391634567b23/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f686174636879752f6c61726176656c2d706970656c696e652d656e67696e652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/hatchyu/laravel-pipeline-engine)[![Total Downloads](https://camo.githubusercontent.com/4574792003a2729d6402fec2b0abb98f8e61a19570d996acae588dadf4e7a977/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f686174636879752f6c61726176656c2d706970656c696e652d656e67696e652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/hatchyu/laravel-pipeline-engine)[![License](https://camo.githubusercontent.com/9a35066a53b4ee3aabdfbc2110a43eb529a86ccf3079bd49effecdf5b2e8dc58/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f686174636879752f6c61726176656c2d706970656c696e652d656e67696e652e7376673f7374796c653d666c61742d737175617265)](LICENSE)

Warning

**Disclaimer &amp; Notice for Public Users:**This package is primarily developed and tailored for the author's personal, client projects, and proprietary Laravel products. While it is open-source, it is highly opinionated to fit specific workflow requirements.

If you choose to use this package in your own environments, please review its behaviors and defaults carefully. Use it at your own discretion.

A reusable, configurable, and highly extensible CI/CD pipeline engine for Laravel projects. It provides centralized shell scripts for linting, security checking, and testing, along with a custom interactive Laravel Artisan installer command to configure GitHub Actions workflows in seconds.

---

🚀 Why Use Laravel Pipeline Engine?
----------------------------------

[](#-why-use-laravel-pipeline-engine)

Instead of copy-pasting hundreds of lines of GitHub Actions YAML configurations across all your Laravel projects, this package centralizes your pipeline logic in a single dependency.

- **Centralized Workflows:** Keep your CI/CD runner logic inside the package. When you update the package, all your projects instantly inherit the updates.
- **Interactive Scaffolding:** Run a single command to generate a pre-configured, optimized `.github/workflows/ci.yml` file customized for your project.
- **Zero-Configuration Fallbacks:** Built-in scripts dynamically detect and run Pint, Larastan, Pest, or PHPUnit only if they are installed.
- **Fast Testing:** Defaults to SQLite in-memory databases to make test suite runs blazing fast without external Docker container requirements.

---

📦 Installation
--------------

[](#-installation)

Install the package via Composer as a dev dependency:

```
composer require hatchyu/laravel-pipeline-engine --dev
```

---

🛠️ Getting Started
------------------

[](#️-getting-started)

### 1. Run the Interactive Installer

[](#1-run-the-interactive-installer)

Configure and scaffold your GitHub Actions workflow file by running:

```
php artisan pipeline:install
```

This interactive CLI will guide you through:

1. Selecting your PHP version.
2. Enabling/disabling frontend/Node.js asset building.
3. Deciding which checks (Quality, Security, Tests) to include in the pipeline.

The script creates/updates your `.github/workflows/ci.yml` file.

### 2. Push to GitHub

[](#2-push-to-github)

Commit the new workflow file and push to GitHub:

```
git add .github/workflows/ci.yml
git commit -m "chore: install hatchyu pipeline engine"
git push
```

---

🔍 Core Runners
--------------

[](#-core-runners)

The package registers three binaries under `vendor/bin/` which run automatically in CI, but can also be run locally:

### 1. `vendor/bin/ci-lint`

[](#1-vendorbinci-lint)

Checks code quality in three phases:

- **Syntax Check:** Parallel PHP syntax verification (`php -l`) across common source directories.
- **Code Styling:** Automatically runs Laravel Pint (`vendor/bin/pint --test`) or PHP-CS-Fixer if configured.
- **Static Analysis:** Runs Larastan/PHPStan (`vendor/bin/phpstan analyse`) if present.

### 2. `vendor/bin/ci-security`

[](#2-vendorbinci-security)

Ensures dependency safety:

- **Composer Audit:** Runs native `composer audit` to scan dependencies for known vulnerabilities and stops deployment on failures.

### 3. `vendor/bin/ci-test`

[](#3-vendorbinci-test)

Executes test suites seamlessly:

- **Environment Fallbacks:** Automatically configures `DB_CONNECTION=sqlite` and `DB_DATABASE=:memory:` for lightning-fast testing.
- **Runner Detection:** Detects whether to use Laravel's standard `php artisan test`, Pest (`vendor/bin/pest`), or PHPUnit (`vendor/bin/phpunit`).
- **Command Arguments:** Forwards any additional arguments (e.g. running specific tests or coverage reports) directly to the underlying runner.

---

🎛️ Customizations &amp; Overrides
---------------------------------

[](#️-customizations--overrides)

### Environment Overrides

[](#environment-overrides)

If your project requires a specific database (e.g. MySQL) or special env configurations for testing, configure them directly in your `.github/workflows/ci.yml` file or your `.env.testing`. The runners respect existing environment variables:

```
      - name: Run Test Suite
        env:
          DB_CONNECTION: mysql
          DB_DATABASE: custom_testing_db
        run: ./vendor/bin/ci-test
```

### Adding Project-Specific Pipeline Steps

[](#adding-project-specific-pipeline-steps)

Since the GitHub Actions file lives in your project repository, you can seamlessly add custom actions (e.g. E2E tests, build steps, or boundary assertions) directly alongside the core runners:

```
    # ==========================================
    # 1. RUN CORE PIPELINE
    # ==========================================
    - name: Run Quality Checks
      run: ./vendor/bin/ci-lint

    - name: Run Security Audits
      run: ./vendor/bin/ci-security

    - name: Run Test Suite
      run: ./vendor/bin/ci-test

    # ==========================================
    # 2. CUSTOM PROJECT-SPECIFIC STEPS
    # ==========================================
    - name: Run E2E Cypress Tests
      run: npm run test:e2e
```

### Running Tests in Parallel

[](#running-tests-in-parallel)

If your application has a large test suite, you can run tests in parallel to speed up execution. The test runner automatically forwards arguments to the underlying testing tool (like Pest or Artisan):

```
      - name: Run Test Suite
        run: ./vendor/bin/ci-test --parallel
```

### Testing Multiple PHP/Laravel Versions (Matrix Build)

[](#testing-multiple-phplaravel-versions-matrix-build)

If you are developing a package or need to ensure compatibility across multiple PHP versions, you can modify the scaffolded `.github/workflows/ci.yml` file to use a GitHub Actions matrix:

```
jobs:
  ci-pipeline:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        php: [ '8.2', '8.3', '8.4' ]

    steps:
    - name: Checkout Code
      uses: actions/checkout@v4

    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: ${{ matrix.php }}
        extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, intl
```

---

📄 License
---------

[](#-license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance100

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

0d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/743e9d5b6f56260847460cad4084ed9c341d791eaad645f0d318f686786d72ac?d=identicon)[rajeshmk](/maintainers/rajeshmk)

---

Top Contributors

[![rajeshmk](https://avatars.githubusercontent.com/u/227696?v=4)](https://github.com/rajeshmk "rajeshmk (3 commits)")

---

Tags

ci-cdcode-qualitygithub-actionshatchyularavellaravel-packagelaravel-pluginlinterphppipeline-enginetestingtestinglaravellinterpipelineGithub Actionsci-cdhatchyu

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/hatchyu-laravel-pipeline-engine/health.svg)

```
[![Health](https://phpackages.com/badges/hatchyu-laravel-pipeline-engine/health.svg)](https://phpackages.com/packages/hatchyu-laravel-pipeline-engine)
```

###  Alternatives

[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.4k51.0M7.8k](/packages/larastan-larastan)[laravel/ai

The official AI SDK for Laravel.

1.0k2.1M169](/packages/laravel-ai)[spatie/laravel-health

Monitor the health of a Laravel application

87511.3M154](/packages/spatie-laravel-health)[calebdw/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

15104.9k4](/packages/calebdw-larastan)[laravel/surveyor

Static analysis tool for Laravel applications.

8690.3k12](/packages/laravel-surveyor)[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

119.2k](/packages/tomshaw-electricgrid)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
