Files
actions/python-lint-fix/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

3.1 KiB

ivuorinen/actions/python-lint-fix

Python Lint and Fix

Description

Lints and fixes Python files, commits changes, and uploads SARIF report.

Inputs

name description required default
python-version

Python version to use

false 3.11
flake8-version

Flake8 version to use

false 7.0.0
autopep8-version

Autopep8 version to use

false 2.0.4
max-retries

Maximum number of retry attempts for installations and linting

false 3
working-directory

Directory containing Python files to lint

false .
fail-on-error

Whether to fail the action if linting errors are found

false true
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
lint-result

Result of the linting process (success/failure)

fixed-files

Number of files that were fixed

error-count

Number of errors found

Runs

This action is a composite action.

Usage

- uses: ivuorinen/actions/python-lint-fix@main
  with:
    python-version:
    # Python version to use
    #
    # Required: false
    # Default: 3.11

    flake8-version:
    # Flake8 version to use
    #
    # Required: false
    # Default: 7.0.0

    autopep8-version:
    # Autopep8 version to use
    #
    # Required: false
    # Default: 2.0.4

    max-retries:
    # Maximum number of retry attempts for installations and linting
    #
    # Required: false
    # Default: 3

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

    fail-on-error:
    # Whether to fail the action if linting errors are found
    #
    # Required: false
    # Default: true

    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