validate_actions.pipeline

Pipeline for validating workflow files.

Classes

DefaultPipeline(file, web_fetcher, fixer)

Default 5-stage pipeline implementation for workflow validation.

Pipeline(file, fixer)

Abstract pipeline for validating a specific workflow file.

class validate_actions.pipeline.Pipeline(file, fixer)[source]

Bases: ABC

Abstract pipeline for validating a specific workflow file.

Each pipeline instance is bound to a specific file and contains all the necessary components to process that file through the validation stages.

Parameters:
  • file (Path)

  • fixer (Fixer)

abstractmethod process()[source]

Process the workflow file and return problems found.

Returns:

A collection of problems found during validation.

Return type:

Problems

class validate_actions.pipeline.DefaultPipeline(file, web_fetcher, fixer)[source]

Bases: Pipeline

Default 5-stage pipeline implementation for workflow validation.

Processes a workflow file through sequential stages: 1. PyYAMLParser - Parse YAML to dict 2. DefaultBuilder - Build AST from dict 3. DefaultMarketPlaceEnricher - Fetch action metadata 4. DefaultJobOrderer - Resolve job dependencies 5. ExtensibleValidator - Run validation rules

Parameters:
  • file (Path) – Path to workflow file to validate

  • web_fetcher (WebFetcher) – Web fetcher for action metadata

  • fixer (Fixer) – Fixer for auto-corrections

process()[source]

Process the workflow file and return problems found.

Returns:

A collection of problems found during validation.

Return type:

Problems