Files
actions/prettier-lint/README.md
Ismo Vuorinen 7b14ba3b5a refactor: consolidate PHP testing actions with Laravel detection
Merge php-tests, php-laravel-phpunit, and php-composer into single php-tests action:

Consolidation:
- Merge three PHP actions into one with framework auto-detection
- Add framework input (auto/laravel/generic) with artisan file detection
- Inline PHP version detection from multiple sources
- Inline Composer setup, caching, and dependency installation
- Add conditional Laravel-specific setup steps

Features:
- Auto-detect Laravel via artisan file presence
- PHP version detection from .tool-versions, Dockerfile, composer.json, etc.
- Composer dependency management with retry logic and caching
- Laravel setup: .env copy, key generation, permissions, SQLite database
- Smart test execution: composer test for Laravel, direct PHPUnit for generic

Outputs:
- framework: Detected framework (laravel/generic)
- php-version, composer-version, cache-hit: Setup metadata
- test-status, tests-run, tests-passed: Test results

Deleted:
- php-laravel-phpunit/: Laravel-specific testing action
- php-composer/: Composer dependency management action
- Related test files and custom validators

Updated:
- CLAUDE.md: 26 → 24 actions
- generate_listing.cjs: Remove php-laravel-phpunit, php-composer
- validate-inputs: Remove php-laravel-phpunit custom validator

Result: 3 actions → 1 action, maintained all functionality with simpler interface.
2025-11-20 22:38:00 +02:00

4.7 KiB

ivuorinen/actions/prettier-lint

Prettier Lint

Description

Run Prettier in check or fix mode with advanced configuration and reporting

Inputs

name description required default
mode

Mode to run (check or fix)

false check
working-directory

Directory containing files to format

false .
prettier-version

Prettier version to use

false latest
config-file

Path to Prettier config file

false .prettierrc
ignore-file

Path to Prettier ignore file

false .prettierignore
file-pattern

Files to include (glob pattern)

false **/*.{js,jsx,ts,tsx,css,scss,json,md,yaml,yml}
cache

Enable Prettier caching

false true
fail-on-error

Fail workflow if issues are found (check mode only)

false true
report-format

Output format for check mode (json, sarif)

false sarif
max-retries

Maximum number of retry attempts

false 3
plugins

Comma-separated list of Prettier plugins to install

false ""
token

GitHub token for authentication

false ""
username

GitHub username for commits (fix mode only)

false github-actions
email

GitHub email for commits (fix mode only)

false github-actions@github.com

Outputs

name description
status

Overall status (success/failure)

files-checked

Number of files checked (check mode only)

unformatted-files

Number of files with formatting issues (check mode only)

sarif-file

Path to SARIF report file (check mode only)

files-changed

Number of files changed (fix mode only)

Runs

This action is a composite action.

Usage

- uses: ivuorinen/actions/prettier-lint@main
  with:
    mode:
    # Mode to run (check or fix)
    #
    # Required: false
    # Default: check

    working-directory:
    # Directory containing files to format
    #
    # Required: false
    # Default: .

    prettier-version:
    # Prettier version to use
    #
    # Required: false
    # Default: latest

    config-file:
    # Path to Prettier config file
    #
    # Required: false
    # Default: .prettierrc

    ignore-file:
    # Path to Prettier ignore file
    #
    # Required: false
    # Default: .prettierignore

    file-pattern:
    # Files to include (glob pattern)
    #
    # Required: false
    # Default: **/*.{js,jsx,ts,tsx,css,scss,json,md,yaml,yml}

    cache:
    # Enable Prettier caching
    #
    # Required: false
    # Default: true

    fail-on-error:
    # Fail workflow if issues are found (check mode only)
    #
    # Required: false
    # Default: true

    report-format:
    # Output format for check mode (json, sarif)
    #
    # Required: false
    # Default: sarif

    max-retries:
    # Maximum number of retry attempts
    #
    # Required: false
    # Default: 3

    plugins:
    # Comma-separated list of Prettier plugins to install
    #
    # Required: false
    # Default: ""

    token:
    # GitHub token for authentication
    #
    # Required: false
    # Default: ""

    username:
    # GitHub username for commits (fix mode only)
    #
    # Required: false
    # Default: github-actions

    email:
    # GitHub email for commits (fix mode only)
    #
    # Required: false
    # Default: github-actions@github.com