Pipeline configuration struct.
Holds branches, scopes, groups, triggers, ignore patterns, pipeline-level
config (env, secrets, cache), and force activation rules. Used internally
by the engine — pipeline modules are defined via use Pipette.DSL and
converted to this struct by Pipette.Info.to_pipeline/1.
Fields
:branches— list ofPipette.Branchpolicies controlling activation behavior on matching branches:scopes— list ofPipette.Scopefile-to-scope mappings:groups— list ofPipette.Groupstep groups (the units of activation):triggers— list ofPipette.Triggerdownstream pipeline triggers:ignore— glob patterns for files that should not activate any group (e.g.["docs/**", "*.md"]). When all changed files match these patterns, the pipeline returns:noop:env— pipeline-level environment variables (map with atom or string keys):secrets— list of secret names to inject into the pipeline:cache— cache configuration (keyword list, e.g.[paths: ["deps/"]]):force_activate— map of environment variable names to groups to force-activate when the env var is set to"true"(e.g.%{"FORCE_DEPLOY" => [:web, :deploy]})
Summary
Types
@type t() :: %Pipette.Pipeline{ __spark_metadata__: term(), branches: [Pipette.Branch.t()], cache: keyword() | nil, env: map() | nil, force_activate: %{required(String.t()) => [atom()] | :all}, groups: [Pipette.Group.t()], ignore: [String.t()], scopes: [Pipette.Scope.t()], secrets: [String.t()] | nil, triggers: [Pipette.Trigger.t()] }