Gullintanni v0.1.0 Gullintanni.Pipeline

Defines a Gullintanni build pipeline.

A pipeline is uniquely identified by repository and encapsulates the state necessary to coordinate builds and merges.

Summary

Types

The pipeline name

The pipeline reference

t()

The pipeline type

Functions

Returns true if the user is an authorized reviewer on pipeline

Gets the current state of a pipeline

Gets a value from a pipeline by key

Puts the value for the given key in the pipeline

Starts a new pipeline with the given config settings

Returns true if all required pipeline configuration values exist in config, otherwise false

Returns the pid of a pipeline agent, or :undefined if no process is associated with the given identifier

Types

name()
name() :: atom | {:global, term} | {:via, module, term}

The pipeline name

pipeline()
pipeline() :: pid | {atom, node} | name

The pipeline reference

t()
t() :: %Gullintanni.Pipeline{bot_name: String.t, config: Gullintanni.Config.t, merge_requests: map, repo: Gullintanni.Repo.t, worker: Gullintanni.Worker.t}

The pipeline type

Functions

authorized?(pipeline, username)
authorized?(pipeline, String.t) :: boolean

Returns true if the user is an authorized reviewer on pipeline.

get(pipeline)
get(pipeline) :: t | :undefined

Gets the current state of a pipeline.

get(pipeline, key)
get(pipeline, atom) :: any | :undefined

Gets a value from a pipeline by key.

handle_comment(pipeline, comment)
handle_comment(pipeline, Gullintanni.Comment.t) :: :ok
handle_mreq_close(pipeline, mreq_id)
handle_mreq_close(pipeline, Gullintanni.MergeRequest.id) :: :ok
handle_mreq_open(pipeline, mreq)
handle_mreq_open(pipeline, Gullintanni.MergeRequest.t) :: :ok
handle_push(pipeline, mreq_id, sha)
put(pipeline, key, value)
put(pipeline, any, any) :: :ok

Puts the value for the given key in the pipeline.

start_link(config)

Starts a new pipeline with the given config settings.

valid_config?(config)
valid_config?(Gullintanni.Config.t) :: boolean

Returns true if all required pipeline configuration values exist in config, otherwise false.

whereis(identifier)
whereis(pid | atom | t | Gullintanni.Repo.t | String.t) ::
  pid |
  :undefined

Returns the pid of a pipeline agent, or :undefined if no process is associated with the given identifier.