Skip to content

Stages & Jobs

Stages

Stages are the top-level building blocks of a pipeline. They define what runs and when.

Adding a stage

In the Pipeline view, click on the canvas and select Add Stage. Give it a clear name that reflects what it does: Build, Test, Deploy, Notify.

Stage execution order

By default, all stages in a pipeline run independently. To make one stage wait for another, connect them with an edge:

  1. Hover over the source stage until the connection handle appears
  2. Drag to the target stage

The target stage will not start until the source stage has completed successfully.

You can chain as many stages as you need:

You can also fan out (run multiple stages in parallel after one completes):

And fan back in (wait for multiple stages before proceeding):

Deleting a stage

Select the stage card and press Delete, or right-click and choose Delete Stage.

WARNING

Deleting a stage removes all jobs and steps inside it. This cannot be undone without using Undo (Ctrl+Z).


Jobs

Jobs are the workhorses of a pipeline. Each job runs on a specific runner and contains a sequence of steps.

Adding a job

Enter a stage (double-click its card), then click Add Job. Configure:

FieldDescriptionExample
NameIdentifier for this jobrun-tests
Runs onRunner labelubuntu-latest, self-hosted, macos-latest

Job execution within a stage

By default, all jobs inside a stage run in parallel. To make one job wait for another within the same stage, connect them with an edge in the Stage view — same as connecting stages.

Common runner labels

LabelPlatformUse case
ubuntu-latestGitHub ActionsMost CI tasks
ubuntu-22.04GitHub ActionsPinned Ubuntu version
windows-latestGitHub ActionsWindows builds
macos-latestGitHub ActionsiOS/macOS builds
self-hostedAll platformsYour own machines

TIP

Runner labels are passed through directly to the exported YAML. Use whatever label your CI platform supports.

Job failure behavior

When a job fails:

  • Its remaining steps are skipped
  • Jobs that depend on it (via edges) are also skipped
  • Jobs that do not depend on it continue normally
  • The overall stage is marked as failed
  • Downstream stages that depend on this stage are skipped

Released under the MIT License.