Files
actions/python-lint-fix/README.md
Ismo Vuorinen 49d232f590 refactor: inline node-setup across Node.js actions
Phase 6A: Remove node-setup abstraction layer and inline Node.js setup.

Changes:
- Replace node-setup calls with direct actions/setup-node@v6.0.0
- Inline package manager detection (lockfile-based)
- Add Corepack enablement and package manager installation
- Use Node.js 22 as default version

Actions migrated (5):
- prettier-lint: Inline Node.js setup + package manager detection
- biome-lint: Inline Node.js setup + package manager detection
- eslint-lint: Inline Node.js setup + package manager detection
- pr-lint: Inline Node.js setup (conditional on package.json)
- npm-publish: Inline Node.js setup + package manager detection

Removed:
- node-setup/action.yml (371 lines)
- node-setup/README.md, rules.yml, CustomValidator.py
- _tests/unit/node-setup/validation.spec.sh
- _tests/integration/workflows/node-setup-test.yml
- validate-inputs/tests/test_node-setup_custom.py

Documentation updates:
- CLAUDE.md: Remove node-setup from action list (26 actions)
- generate_listing.cjs: Remove node-setup mappings
- update-validators.py: Remove node-setup custom validator

Result: 26 actions (down from 27), eliminated internal dependency layer.
2025-11-20 21:17:37 +02:00

94 lines
2.3 KiB
Markdown

# 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` | <p>Python version to use</p> | `false` | `3.11` |
| `flake8-version` | <p>Flake8 version to use</p> | `false` | `7.0.0` |
| `autopep8-version` | <p>Autopep8 version to use</p> | `false` | `2.0.4` |
| `max-retries` | <p>Maximum number of retry attempts for installations and linting</p> | `false` | `3` |
| `working-directory` | <p>Directory containing Python files to lint</p> | `false` | `.` |
| `fail-on-error` | <p>Whether to fail the action if linting errors are found</p> | `false` | `true` |
| `token` | <p>GitHub token for authentication</p> | `false` | `""` |
| `username` | <p>GitHub username for commits</p> | `false` | `github-actions` |
| `email` | <p>GitHub email for commits</p> | `false` | `github-actions@github.com` |
### Outputs
| name | description |
| --- | --- |
| `lint-result` | <p>Result of the linting process (success/failure)</p> |
| `fixed-files` | <p>Number of files that were fixed</p> |
| `error-count` | <p>Number of errors found</p> |
### Runs
This action is a `composite` action.
### Usage
```yaml
- 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
```