Pipelines Jobs Stages

Pipelines, Jobs, and Stages

This page provides an overview of the following concepts: pipelines, jobs, and stages.

Pipelines

Pipelines are defined by a group of Jobs, which are expected to be executed sequentially, out of order or in programatically-defined way (Stages).
A Pipeline in Superblocks is described by a configuration file named superblocks.yaml. When a repository gets connected to a Project, Superblocks takes care of setting up and running new pipelines. Pipelines respond to events triggered by interactions performed in the connected repository.

The Pipelines screen shows a list of all the actions performed by Superblocks. Each pipeline entry is described as follows:

  • Status: the current status of the pipeline. The values represent the pipeline state flow and the possible values are: created, pending, running, success, failed, canceled, skipped, and manual;
  • Pipeline: the unique identifier;
  • Branch: the repository branch targeted by pipeline run;
  • Commit: references the last commit (HEAD) targeted by the pipeline run;
  • Time and date: total elapsed time accompanied by when the pipeline started.

Pressing the Status or the Pipeline redirects to the Pipeline details screen. The Branch and Commit links to the connected repository, allowing for inspecting the specific branch or commit, respectively. Pipelines list

Jobs

A Job represents the smallest unit in a Pipeline description. It is an unit of execution. Examples of Jobs are: static analysis code checking, automated testing, compiling and distribution.
Since Jobs are part of a Pipeline, they are described as part of the Pipelines configuration file.

The Jobs screen shows a list of all the actions performed by Superblocks. Each entry is described as follows:

  • Status: the current status of the job. The possible values are: created, pending, running, success, failed, canceled, skipped, and manual;
  • Job: the unique identifier used to refer to that entry in Superblocks;
  • Commit: references the last commit (HEAD) targeted by the pipeline run;
  • Pipeline: the unique identifier referencing the pipeline which is responsible for the job;
  • Stage: the stage in which the job pertains to;
  • Name: refers to the job name as described in the configuration file;
  • Time and date: total elapsed time accompanied by when the job started.

Pressing the Status or the Build redirects to more details. The Branch and Commit links to the connected repository, for inspecting the specific branch or commit, respectively.

Jobs list

Stages

Stages are optional constructs which can be used to group up one or more Jobs into a single coherent representation. They are organizational units. Stages can be used to label, organize and order a sequence of Jobs, like a dependency chain. Multiple Jobs can also be contained inside a Stage to be run in parallel.
The actual Stage settings are defined in the Superblocks configuration file.