# ivuorinen/actions/php-tests ## PHP Tests ### Description Run PHPUnit tests with optional Laravel setup and Composer dependency management ### Inputs | name | description | required | default | |-----------------|----------------------------------------------------------------------------------------------------------------|----------|-----------------------------------------------------| | `framework` |
Framework detection mode (auto=detect Laravel via artisan, laravel=force Laravel, generic=no framework)
| `false` | `auto` | | `php-version` |PHP Version to use (latest, 8.4, 8.3, etc.)
| `false` | `latest` | | `extensions` |PHP extensions to install (comma-separated)
| `false` | `mbstring, intl, json, pdo_sqlite, sqlite3` | | `coverage` |Code-coverage driver (none, xdebug, pcov)
| `false` | `none` | | `composer-args` |Arguments to pass to Composer install
| `false` | `--no-progress --prefer-dist --optimize-autoloader` | | `max-retries` |Maximum number of retry attempts for Composer commands
| `false` | `3` | | `token` |GitHub token for authentication
| `false` | `""` | | `username` |GitHub username for commits
| `false` | `github-actions` | | `email` |GitHub email for commits
| `false` | `github-actions@github.com` | ### Outputs | name | description | |--------------------|------------------------------------------------| | `framework` |Detected framework (laravel or generic)
| | `php-version` |The PHP version that was setup
| | `composer-version` |Installed Composer version
| | `cache-hit` |Indicates if there was a cache hit
| | `test-status` |Test execution status (success/failure)
| | `tests-run` |Number of tests executed
| | `tests-passed` |Number of tests passed
| ### Runs This action is a `composite` action. ### Usage ```yaml - uses: ivuorinen/actions/php-tests@main with: framework: # Framework detection mode (auto=detect Laravel via artisan, laravel=force Laravel, generic=no framework) # # Required: false # Default: auto php-version: # PHP Version to use (latest, 8.4, 8.3, etc.) # # Required: false # Default: latest extensions: # PHP extensions to install (comma-separated) # # Required: false # Default: mbstring, intl, json, pdo_sqlite, sqlite3 coverage: # Code-coverage driver (none, xdebug, pcov) # # Required: false # Default: none composer-args: # Arguments to pass to Composer install # # Required: false # Default: --no-progress --prefer-dist --optimize-autoloader max-retries: # Maximum number of retry attempts for Composer commands # # Required: false # Default: 3 token: # GitHub token for authentication # # Required: false # Default: "" username: # GitHub username for commits # # Required: false # Default: github-actions email: # GitHub email for commits # # Required: false # Default: github-actions@github.com ```