validate_actions.cli

CLI interface and standard implementation for validate-actions.

Classes

CLI()

Interface for CLI implementations.

StandardCLI(config[, formatter, aggregator])

Standard CLI implementation with separated concerns.

class validate_actions.cli.CLI[source]

Bases: ABC

Interface for CLI implementations.

abstractmethod run()[source]

Run the CLI and return exit code.

Returns:

Exit code (0=success, 1=errors, 2=warnings only)

Return type:

int

class validate_actions.cli.StandardCLI(config, formatter=None, aggregator=None)[source]

Bases: CLI

Standard CLI implementation with separated concerns.

Coordinates validation using pluggable components: - OutputFormatter: handles display formatting - ResultAggregator: collects and summarizes results - Pipeline creation: creates pipelines for each file

Parameters:
run()[source]

Main CLI execution method.

Orchestrates the complete validation process, including file discovery, validation execution, result collection, and output formatting.

Validates either a single workflow file (if specified in config) or discovers and validates all workflow files in the .github/workflows/ directory.

Returns:

Exit code indicating validation results:
  • 0: Success (no errors)

  • 1: Errors found

  • 2: Warnings only (when not suppressed)

Return type:

int

Examples

Single file validation:

cli = StandardCLI(config_with_file) exit_code = cli.run()

Directory validation:

cli = StandardCLI(config_without_file) exit_code = cli.run()