Write a parent pipeline YAML with a generate stage job that runs a script to inspect changed files and emit a child pipeline YAML file as an artifact, using git diff or similar to identify affected components
Define a trigger job in the parent pipeline that references the generated artifact using the trigger:include:artifact syntax and sets strategy: depend to make the parent wait for child completion
In the generator script, produce a valid GitLab CI YAML file with stages and jobs for only the affected components, keeping unused jobs out of the child pipeline to reduce execution time
Add rules conditions to the parent generate job so it runs only on merge request or push events and not on scheduled pipelines where full builds are expected
Validate the child pipeline output by logging the generated YAML and comparing it against expected jobs for a known set of changed paths
Known gotchas
The generated child pipeline YAML must be a syntactically valid GitLab CI file; a generation script error that produces malformed YAML causes the trigger job to fail with a cryptic pipeline configuration error rather than a clear generator error
strategy: depend causes the parent pipeline to wait for the child and propagate child failure to the parent; omitting it means the parent succeeds even if the child fails, which can give false green status on merge requests
The artifact path in the trigger:include:artifact must exactly match the path written by the generator script relative to the project root; a path mismatch causes a silent failure where the trigger uses a previous pipeline's artifact or no artifact at all
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp