Skip to Content
DocsHow it WorksWhere It Runs

Where It Runs

A pipeline has two parts that can run in different places: the engine you launch, which runs the program from its entrypoint, and the steps it dispatches, which run in containers on runners. You choose both, and you can change them without rewriting the pipeline.

With api, the default, the engine asks Cadence.CI for a machine for each step, and Cadence.CI starts it in your cloud account, then stops it when the step ends. With compose, the steps start as containers on the same machine as the engine.

Choose Where Steps Run

Steps run inHowGood forPlan
Instances in your cloud account, with a supported providerDefault api location, cloud account connected in CloudsProduction pipelines: the right machine for each step, ARM or x86, at your provider’s ratesAccess (free) and above
Containers on your machine--work_location composeTrying a pipeline, debugging a stepAccess (free) and above
Containers in a GitHub or GitLab runnerReusable workflow or CI/CD component with local distributionKeeping the runners you already pay forAccess (free) and above

With api, each step declares what it needs (cpu, memory, storage, arch) and gets the smallest instance that fits; see How Instance Selection Works. With compose, a step can only use what the host offers: its architecture and its memory.

Choose Where You Launch

Launch fromHow
Your machinemelodium run --api-report .melodium-ci/Compo.toml ...
GitHub ActionsReusable workflows
GitLab CICI/CD components
Any machine or container that runs Mélodiummelodium run --api-report .melodium-ci/Compo.toml ...

Wherever it is launched, a run appears in the dashboard when the command includes --api-report and the MELODIUM_API_TOKEN environment variable holds a run token.

Going Further