Files
actions/php-tests
Ismo Vuorinen 900dd96797 feat: add action-validator and clean up CI workflows (#513)
* chore(pre-commit): update hooks and add action-validator

Update uv-pre-commit 0.10.9→0.10.11 and checkov 3.2.508→3.2.510.
Normalize single quotes to double quotes in hook args.
Add action-validator v0.8.0 hook for GitHub Actions validation.

* fix(ci): clean up workflow path filters

Remove non-existent action.yaml paths from action-security workflow.
Fix glob patterns (**.md → **/*.md) in pr-lint workflow.
Remove unused trigger paths (yarn.lock, pnpm-lock.yaml,
requirements.txt, .github/labels.yml, docs/**) from security-suite
and sync-labels workflows.

* feat(make): add lint-actions target for action-validator

Add lint-actions target that runs action-validator via pre-commit.
Include it in the lint dependency list and .PHONY declaration.

* docs: add context-mode routing rules to CLAUDE.md

Add mandatory routing rules section for context-mode MCP plugin,
documenting blocked commands, redirected tools, tool selection
hierarchy, and output constraints.

* fix(lint): resolve action-validator failure on language-version-detect

- Remove unsupported `deprecated: true` from language-version-detect/action.yml
  (deprecation already communicated via description field)
- Scope action-validator pre-commit hook to workflow and action.yml files only
- Make missing pre-commit a hard error in lint-actions target

* fix(deps): update action pins and fix trivy-action version comment

Update SHA-pinned action references to latest versions:
- github/codeql-action v4.32.6 → v4.33.0
- nick-fields/retry v3.0.2 → v4.0.0
- actions/cache v5.0.3 → v5.0.4
- oven-sh/setup-bun v2.1.3 → v2.2.0
- softprops/action-gh-release v2.5.0 → v2.6.1
- github/issue-metrics v4.1.0 → v4.1.1
- shivammathur/setup-php 2.36.0 → 2.37.0
- astral-sh/setup-uv v7.5.0 → v7.6.0
- terraform-linters/setup-tflint v6.2.1 → v6.2.2
- aquasecurity/trivy-action: pin from master to v0.35.0

Fix pinact warning in docker-build by adding missing v prefix
to trivy-action version comment (0.35.0 → v0.35.0).
2026-03-20 13:01:24 +02:00
..
2025-11-21 15:46:33 +02:00

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

- 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