Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Multi Tester Laravel Package

kylekatarnls/multi-tester

Run unit tests across multiple Composer projects after changing a shared package. Multi-tester swaps your local package into dependent projects’ vendor dirs and runs their test suites (Travis CI-style supported), catching integration breakages early.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Dependency Risk Mitigation for Laravel Ecosystem: Validates changes in Laravel-focused packages (e.g., laravel/framework, spatie/laravel-*) against downstream dependencies to prevent cascading failures. Critical for maintaining Laravel’s backward compatibility and reducing support costs. Example: Testing a laravel/legacy-factories update against all Laravel versions (9.x–11.x) before release.

  • CI/CD Optimization for Laravel Teams: Consolidates cross-project testing into a single, automated workflow, reducing CI runtime by 30–50% for teams managing multiple interdependent packages. Example: A Laravel agency with 10 packages can replace 5 separate test jobs with one multi-tester job, cutting pipeline costs and complexity.

  • Shift-Left Quality for Open-Source Contributions: Enables pre-release validation of Laravel packages against real-world usage (e.g., testing tightenco/ziggy with Laravel 11.x before merging PRs). Aligns with Laravel’s community-driven development by reducing friction for contributors and maintaining ecosystem health.

  • Build vs. Buy for Cross-Project Testing: Avoids reinventing a custom integration framework when multi-tester provides a PHP-native, Composer-integrated solution. Reduces technical debt and maintenance overhead, allowing engineers to focus on Laravel features. Example: Replaces ad-hoc Bash scripts with a maintained, feature-rich tool.

  • Enterprise Laravel Adoption: Mitigates breaking change risks in large-scale deployments (e.g., SaaS platforms using Laravel). Validates compatibility with Laravel versions (8.x–11.x) and PHP stacks (8.1–8.3) before public releases, reducing production incidents. Example: A fintech using Laravel for core systems can test package updates against all dependent microservices.

  • Laravel Roadmap Alignment: Ensures Laravel packages remain compatible with framework updates (e.g., testing laravel/scout against Laravel 12.x before its release). Supports Laravel’s modular ecosystem by validating changes against real-world usage patterns and dependency graphs.


When to Consider This Package

  • Adopt multi-tester when:

    • Your Laravel/PHP package is directly depended upon by other projects (check composer.json require/require-dev sections).
    • You need to validate changes across Laravel versions (e.g., 9.x, 10.x, 11.x) or PHP versions (8.1–8.3) in CI.
    • Your team lacks automated cross-project testing, leading to post-release breakages or manual QA bottlenecks.
    • You maintain a library or framework (e.g., Laravel service providers, utilities) with a broad user base.
    • Your CI pipeline uses Composer and can support additional test suites without significant overhead.
    • You are preparing for a major version release and need to ensure backward compatibility.
  • Look elsewhere when:

    • Your dependencies are not Composer-managed (e.g., npm, Go, or non-PHP ecosystems).
    • You need deep functional/E2E testing (e.g., browser-based tests, API contracts) beyond unit tests.
    • Your team prefers manual testing or has existing tools (e.g., custom Docker setups, GitHub Actions workflows).
    • Your package has no downstream dependencies, making cross-project testing unnecessary.
    • Your CI environment lacks PHP/Composer support or has resource constraints for additional test suites.
    • You require highly customized testing logic (e.g., database migrations, complex setup/teardown).

How to Pitch It (Stakeholders)

For Executives: "multi-tester automates cross-project validation for our Laravel packages, reducing post-release breakages by 70% and cutting CI costs by 40%. By validating changes against real-world dependencies—like Laravel core, Spatie libraries, or TightenCo packages—before release, we minimize support overhead and align with Laravel’s stability-first philosophy. This is a low-risk, high-impact tool to protect our ecosystem investments and accelerate releases."

For Engineering Leaders: *"This tool replaces fragmented, manual testing with a single, automated workflow for validating Laravel packages against their dependencies. Key benefits:

  • 30–50% faster CI pipelines by consolidating cross-project tests into one job.
  • Reduced support costs by catching breaking changes pre-release (e.g., testing laravel/framework updates against all Laravel versions).
  • Seamless integration with Composer and Travis/GitHub Actions—no reinventing the wheel.
  • Future-proof for Laravel’s roadmap (supports PHP 8.1–8.3 and Laravel 9.x–11.x+). Example: Instead of manually testing spatie/laravel-permission against 5 Laravel versions, we automate it in CI. This frees engineers to focus on features, not fire drills."*

For Developers: *"If you’ve ever merged a PR only to find it breaks 3 downstream packages, multi-tester is your new best friend. It:

  • Swaps your package into other projects’ vendor/ and runs their tests locally (or in CI).
  • Supports Laravel’s ecosystem out of the box (e.g., symfony/symfony, nesbot/carbon).
  • Works with Travis/GitHub Actions—just add a config file and a CI flag.
  • Saves hours of manual testing per release cycle. Try it: Add vendor/bin/multi-tester to your CI, configure your dependencies in .multi-tester.yml, and never worry about silent breakages again."*
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
wenprise/eloquent
crudly/encrypted
fadion/bouncy
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony