Skip to content

Phases and Scopes

Leonard Ramminger edited this page Aug 14, 2026 · 2 revisions

Phases and Scopes

Every step in build.lua has a phase and a scope. Together they form a label like build:default or test:unit. Beez uses that pair to select which steps to run.

Coditary plugins use standardized phase and scope names. See Plugin System for the full tables and coditary/pipeline workflows.

Contents

At a glance

step({
    name = "compile",      -- unique step id (global)
    phase = "build",       -- stage label (you choose)
    scope = "default",     -- variant label (you choose)
    run = "cmake --build build",
})
beez -p build:default          # run all steps in build + default
beez -p quality[lint]          # bracket syntax (same as quality:lint)
beez my-workflow               # workflow lists phase+scope pairs
beez -s compile                # run one step by name (ignores phase/scope)

How selection differs from step names

Mechanism Selects by
Workflow / -p phase + scope on each step
beez -s <name> Step name only
Task { name = "..." } Step name only

Phase and scope group steps. Step name identifies one step globally.

Related pages

Clone this wiki locally