build
Compile every *-pipeline.yaml under the project: write the pipeline JSON, or with check: true verify the checked-in JSON is current.
The executor finds every pipeline file under the project root, compiles each one, and either writes the JSON its output: names, or compares the committed JSON against what the build produces now. It prints one line per file and a summary, and fails when any file fails. Files under node_modules are skipped.
Options
check
boolean, default false.
Verify each checked-in JSON matches its build instead of writing it. A build whose JSON is missing or differs from the current output is reported as stale, and the target fails. Nothing is written.
pattern
string, default **/*-pipeline.yaml.
Glob for pipeline files, relative to the project root. Use it to build one pipeline, or one directory, at a time.
Example
The usual wiring is one target that writes and one that checks:
{
"name": "pipelines",
"targets": {
"build": {
"executor": "@graycore/ftac:build",
"options": {}
},
"check": {
"executor": "@graycore/ftac:build",
"options": { "check": true }
}
}
}npx nx run pipelines:build # write every pipeline JSON
npx nx run pipelines:check # exit 1 if any committed JSON is stale
npx nx run pipelines:build --pattern '**/hello/*-pipeline.yaml' # one pipelineRun check in CI so a hand-edited JSON, or a forgotten rebuild, fails the build.
Output
ok pipelines/hello/hello-pipeline.yaml: wrote /work/pipelines/hello/hello.json
1/1 builds writtenWith check: true:
FAIL pipelines/hello/hello-pipeline.yaml: pipelines/hello/hello.json is stale — run the build
0/1 builds in syncA pipeline that fails to compile is listed the same way with its error message.