validate_actions.pipeline_stages.builders.interfaces

Interfaces for support builders.

Classes

EventsBuilder()

Builder interface for events (after on keyword in workflow file).

JobsBuilder()

Builder interface for jobs.

SharedComponentsBuilder()

Builder interface for shared attributes on varying levels (workflow, job, step).

StepsBuilder()

Builder for steps in a GitHub Actions workflow.

WorkflowBuilder(problems)

Builder interface for whole workflow construction from other builders.

class validate_actions.pipeline_stages.builders.interfaces.SharedComponentsBuilder[source]

Bases: ABC

Builder interface for shared attributes on varying levels (workflow, job, step).

abstractmethod build_env(env_vars)[source]

Build environment variables from dictionary.

Parameters:

env_vars (Dict[String, Any])

Return type:

Env | None

abstractmethod build_permissions(permissions_in)[source]

Build permissions from input data.

Parameters:

permissions_in (Dict[String, Any] | String)

Return type:

Permissions

abstractmethod build_defaults(defaults_dict)[source]

Build defaults from dictionary.

Parameters:

defaults_dict (Dict[String, Dict[String, Dict[String, String]]])

Return type:

Defaults | None

abstractmethod build_concurrency(key, concurrency_in)[source]

Build concurrency configuration.

Parameters:
Return type:

Concurrency | None

class validate_actions.pipeline_stages.builders.interfaces.EventsBuilder[source]

Bases: ABC

Builder interface for events (after on keyword in workflow file). Builds from parsed workflow data. Doens’t parse the file.

abstractmethod build(events_in)[source]

Build events from the given input.

Parameters:

events_in (Union[ast.String, Dict[ast.String, Any], List[Any]]) – Input data representing the events. Starts after the on: keyword in the workflow file.

Returns:

A list of events built.

Return type:

List[Event]

class validate_actions.pipeline_stages.builders.interfaces.StepsBuilder[source]

Bases: ABC

Builder for steps in a GitHub Actions workflow. Converts a list of step definitions into a list of Step objects.

class validate_actions.pipeline_stages.builders.interfaces.JobsBuilder[source]

Bases: ABC

Builder interface for jobs.

abstractmethod build(jobs_dict)[source]

Build events from the input data.

Parameters:

jobs_dict (Dict[String, Any])

Return type:

Dict[String, Job]

class validate_actions.pipeline_stages.builders.interfaces.WorkflowBuilder(problems)[source]

Bases: ProcessStage[Dict[String, Any], Workflow]

Builder interface for whole workflow construction from other builders.

Parameters:

problems (Problems)

abstractmethod process(workflow_dict)[source]

Build a structured workflow representation from the input dictionary.

Parameters:

workflow_dict (Dict[String, Any]) – Parsed workflow dictionary to build from

Returns:

The built Workflow object.

Return type:

Workflow