Compose pipelines from multiple files using include:
at the pipeline level.
Basic Include
Include jobs from external files:
name: Main Pipeline
include:
- ci/build.yml
- ci/test.yml
jobs:
default:
aliases: [default]
desc: Run all tasks
steps:
- run: echo "Running main pipeline"
- run: echo "Included jobs are available as build, test"
jobs:
build:
aliases: [default]
desc: Build application
steps:
- run: echo "Building..."
jobs:
test:
aliases: [default]
desc: Run tests
steps:
- run: echo "Testing..."

Glob Patterns
Use glob patterns to include multiple files:
name: My Pipeline
include: ci/*.yml
jobs:
default:
steps:
- run: echo "Jobs from ci/*.yml are now available"
Include Behavior
- Included files contribute their jobs to the main pipeline
- Job names from included files are available directly
- Duplicate job names cause an error
- Relative paths are resolved from the main file's directory
Use Cases
Split by Domain
name: My Project
include:
- docker/*.yml
- test/*.yml
- deploy/*.yml
jobs:
default:
steps:
- task: docker:build
- task: test:unit
Team-Specific Files
name: Monorepo
include:
- frontend/tasks.yml
- backend/tasks.yml
- infra/tasks.yml
jobs:
all:
steps:
- run: echo "All team tasks are available"