PHPackages                             lightspeedphp/lightspeed - 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. lightspeedphp/lightspeed

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

lightspeedphp/lightspeed
========================

Run tests faster by splitting them across nodes.

279PHP

Since Oct 2Pushed 2y ago1 watchersCompare

[ Source](https://github.com/lightspeed-php/lightspeed)[ Packagist](https://packagist.org/packages/lightspeedphp/lightspeed)[ RSS](/packages/lightspeedphp-lightspeed/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Lightspeed
==========

[](#lightspeed)

Installation
------------

[](#installation)

Install with composer:

```
composer require --dev lightspeedphp/lightspeed
```

Usage
-----

[](#usage)

Once installed, you can immediately run `php vendor/bin/lightspeed` to execute your tests. It will proxy to PHPUnit or to Pest if you have it installed.

Lightspeed is best used within CI where it can run on multiple machines at once to parallelise the execution of your tests. It currently supports GitHub Actions and Buildkite.

### GitHub Actions

[](#github-actions)

Here is an example workflow file to execute your tests in parallel. Note you must set the env vars manually for tests to be correctly split between jobs.

```
name: Demo

on: ['push']

jobs:
  ci:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node_count: [3]
        node_index: [0, 1, 2]

    name: Demo

    steps:
    - name: Checkout
      uses: actions/checkout@v3

    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: 8.0
        tools: composer:v2
        coverage: none

    - name: Install PHP dependencies
      run: composer update --no-interaction --no-progress

    - name: Tests (${{ matrix.node_index}})
      env:
        LIGHTSPEED_NODE_COUNT: ${{ matrix.node_count }}
        LIGHTSPEED_NODE_INDEX: ${{ matrix.node_index }}
      run: php vendor/bin/lightspeed --colors=always
```

### Buildkite

[](#buildkite)

Buildkite is supported out of the box by setting the `parallelism` command step attribute. You can parallelise your test steps with as much agents as you can to minimise test time.

```
steps:
  - label: ':php: Run tests'
    commands:
      - composer update --no-interaction --no-progress
      - php vendor/bin/lightspeed
    parallelism: 3
    plugins:
      - docker#v4.14.0:
          image: composer:2
          propagate-environment: true
```

License
-------

[](#license)

Lightspeed is licensed under the BSD 4-Clause License.

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity21

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/0caec84933c461475313072790637b89e905b604ce657718e41116fbd7640368?d=identicon)[jradtilbrook](/maintainers/jradtilbrook)

---

Top Contributors

[![jradtilbrook](https://avatars.githubusercontent.com/u/6128798?v=4)](https://github.com/jradtilbrook "jradtilbrook (52 commits)")

### Embed Badge

![Health badge](/badges/lightspeedphp-lightspeed/health.svg)

```
[![Health](https://phpackages.com/badges/lightspeedphp-lightspeed/health.svg)](https://phpackages.com/packages/lightspeedphp-lightspeed)
```

###  Alternatives

[phpspec/prophecy

Highly opinionated mocking framework for PHP 5.3+

8.5k551.7M682](/packages/phpspec-prophecy)[vimeo/psalm

A static analysis tool for finding errors in PHP applications

5.8k77.5M6.7k](/packages/vimeo-psalm)[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[beberlei/assert

Thin assertion library for input validation in business models.

2.4k96.9M570](/packages/beberlei-assert)[mikey179/vfsstream

Virtual file system to mock the real file system in unit tests.

1.4k108.0M2.7k](/packages/mikey179-vfsstream)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)

PHPackages © 2026

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