Files
actions/validate-inputs

ivuorinen/actions/validate-inputs

Validate Inputs

Description

Centralized Python-based input validation for GitHub Actions with PCRE regex support

Inputs

name description required default
action

Action name to validate (alias for action-type)

false ""
action-type

Type of action to validate (e.g., csharp-publish, docker-build, eslint-lint)

false ""
rules-file

Path to validation rules file

false ""
fail-on-error

Whether to fail on validation errors

false true
token

GitHub token for authentication

false ""
namespace

Namespace/username for validation

false ""
email

Email address for validation

false ""
username

Username for validation

false ""
dotnet-version

.NET version string

false ""
terraform-version

Terraform version string

false ""
tflint-version

TFLint version string

false ""
node-version

Node.js version string

false ""
force-version

Force version override

false ""
default-version

Default version fallback

false ""
image-name

Docker image name

false ""
tag

Docker image tag

false ""
architectures

Target architectures

false ""
dockerfile

Dockerfile path

false ""
context

Docker build context

false ""
build-args

Docker build arguments

false ""
buildx-version

Docker Buildx version

false ""
max-retries

Maximum retry attempts

false ""
image-quality

Image quality percentage

false ""
png-quality

PNG quality percentage

false ""
parallel-builds

Number of parallel builds

false ""
days-before-stale

Number of days before marking as stale

false ""
days-before-close

Number of days before closing stale items

false ""
pre-commit-config

Pre-commit configuration file path

false ""
base-branch

Base branch name

false ""
dry-run

Dry run mode

false ""
is_fiximus

Use Fiximus bot

false ""
prefix

Release tag prefix

false ""
language

Language to analyze (for CodeQL)

false ""
queries

CodeQL queries to run

false ""
packs

CodeQL query packs

false ""
config-file

CodeQL configuration file path

false ""
config

CodeQL configuration YAML string

false ""
build-mode

Build mode for compiled languages

false ""
source-root

Source code root directory

false ""
category

Analysis category

false ""
checkout-ref

Git reference to checkout

false ""
working-directory

Working directory for analysis

false ""
upload-results

Upload results to GitHub Security

false ""
ram

Memory in MB for CodeQL

false ""
threads

Number of threads for CodeQL

false ""
output

Output path for SARIF results

false ""
skip-queries

Skip running queries

false ""
add-snippets

Add code snippets to SARIF

false ""
gitleaks-license

Gitleaks license key

false ""
gitleaks-config

Gitleaks configuration file path

false ""
trivy-severity

Trivy severity levels to scan

false ""
trivy-scanners

Trivy scanner types to run

false ""
trivy-timeout

Trivy scan timeout

false ""
actionlint-enabled

Enable actionlint scanning

false ""

Outputs

name description
validation-status

Overall validation status (success/failure)

error-message

Validation error message if failed

validation-result

Detailed validation result

errors-found

Number of validation errors found

rules-applied

Number of validation rules applied

Runs

This action is a composite action.

Usage

- uses: ivuorinen/actions/validate-inputs@main
  with:
    action:
    # Action name to validate (alias for action-type)
    #
    # Required: false
    # Default: ""

    action-type:
    # Type of action to validate (e.g., csharp-publish, docker-build, eslint-lint)
    #
    # Required: false
    # Default: ""

    rules-file:
    # Path to validation rules file
    #
    # Required: false
    # Default: ""

    fail-on-error:
    # Whether to fail on validation errors
    #
    # Required: false
    # Default: true

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

    namespace:
    # Namespace/username for validation
    #
    # Required: false
    # Default: ""

    email:
    # Email address for validation
    #
    # Required: false
    # Default: ""

    username:
    # Username for validation
    #
    # Required: false
    # Default: ""

    dotnet-version:
    # .NET version string
    #
    # Required: false
    # Default: ""

    terraform-version:
    # Terraform version string
    #
    # Required: false
    # Default: ""

    tflint-version:
    # TFLint version string
    #
    # Required: false
    # Default: ""

    node-version:
    # Node.js version string
    #
    # Required: false
    # Default: ""

    force-version:
    # Force version override
    #
    # Required: false
    # Default: ""

    default-version:
    # Default version fallback
    #
    # Required: false
    # Default: ""

    image-name:
    # Docker image name
    #
    # Required: false
    # Default: ""

    tag:
    # Docker image tag
    #
    # Required: false
    # Default: ""

    architectures:
    # Target architectures
    #
    # Required: false
    # Default: ""

    dockerfile:
    # Dockerfile path
    #
    # Required: false
    # Default: ""

    context:
    # Docker build context
    #
    # Required: false
    # Default: ""

    build-args:
    # Docker build arguments
    #
    # Required: false
    # Default: ""

    buildx-version:
    # Docker Buildx version
    #
    # Required: false
    # Default: ""

    max-retries:
    # Maximum retry attempts
    #
    # Required: false
    # Default: ""

    image-quality:
    # Image quality percentage
    #
    # Required: false
    # Default: ""

    png-quality:
    # PNG quality percentage
    #
    # Required: false
    # Default: ""

    parallel-builds:
    # Number of parallel builds
    #
    # Required: false
    # Default: ""

    days-before-stale:
    # Number of days before marking as stale
    #
    # Required: false
    # Default: ""

    days-before-close:
    # Number of days before closing stale items
    #
    # Required: false
    # Default: ""

    pre-commit-config:
    # Pre-commit configuration file path
    #
    # Required: false
    # Default: ""

    base-branch:
    # Base branch name
    #
    # Required: false
    # Default: ""

    dry-run:
    # Dry run mode
    #
    # Required: false
    # Default: ""

    is_fiximus:
    # Use Fiximus bot
    #
    # Required: false
    # Default: ""

    prefix:
    # Release tag prefix
    #
    # Required: false
    # Default: ""

    language:
    # Language to analyze (for CodeQL)
    #
    # Required: false
    # Default: ""

    queries:
    # CodeQL queries to run
    #
    # Required: false
    # Default: ""

    packs:
    # CodeQL query packs
    #
    # Required: false
    # Default: ""

    config-file:
    # CodeQL configuration file path
    #
    # Required: false
    # Default: ""

    config:
    # CodeQL configuration YAML string
    #
    # Required: false
    # Default: ""

    build-mode:
    # Build mode for compiled languages
    #
    # Required: false
    # Default: ""

    source-root:
    # Source code root directory
    #
    # Required: false
    # Default: ""

    category:
    # Analysis category
    #
    # Required: false
    # Default: ""

    checkout-ref:
    # Git reference to checkout
    #
    # Required: false
    # Default: ""

    working-directory:
    # Working directory for analysis
    #
    # Required: false
    # Default: ""

    upload-results:
    # Upload results to GitHub Security
    #
    # Required: false
    # Default: ""

    ram:
    # Memory in MB for CodeQL
    #
    # Required: false
    # Default: ""

    threads:
    # Number of threads for CodeQL
    #
    # Required: false
    # Default: ""

    output:
    # Output path for SARIF results
    #
    # Required: false
    # Default: ""

    skip-queries:
    # Skip running queries
    #
    # Required: false
    # Default: ""

    add-snippets:
    # Add code snippets to SARIF
    #
    # Required: false
    # Default: ""

    gitleaks-license:
    # Gitleaks license key
    #
    # Required: false
    # Default: ""

    gitleaks-config:
    # Gitleaks configuration file path
    #
    # Required: false
    # Default: ""

    trivy-severity:
    # Trivy severity levels to scan
    #
    # Required: false
    # Default: ""

    trivy-scanners:
    # Trivy scanner types to run
    #
    # Required: false
    # Default: ""

    trivy-timeout:
    # Trivy scan timeout
    #
    # Required: false
    # Default: ""

    actionlint-enabled:
    # Enable actionlint scanning
    #
    # Required: false
    # Default: ""