fix(wfctl): register cmd-build pipeline in wfctl.yaml#415
Conversation
The build command was registered in the Go commands map (main.go line 95) but had no corresponding cmd-build: pipeline entry in the embedded wfctl.yaml config. This caused wfctl build (and all subcommands: image, push, go, ui, custom, audit) to fail with: error: cli trigger: no pipeline registered for command "build" Adds the missing cmd-build pipeline entry adjacent to cmd-build-ui. Discovered during workflow-dnd v0.14.1 migration smoke test. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Fixes wfctl build CLI routing by registering the missing cmd-build pipeline in the embedded wfctl.yaml, aligning it with how other wfctl commands are wired through the cli trigger + step.cli_invoke.
Changes:
- Added
cmd-buildpipeline triggered by CLI commandbuild - Wired the pipeline to invoke the registered Go command runner via
step.cli_invoke
| cmd-build: | ||
| trigger: | ||
| type: cli | ||
| config: | ||
| command: build | ||
| steps: | ||
| - name: run | ||
| type: step.cli_invoke | ||
| config: | ||
| command: build | ||
|
|
There was a problem hiding this comment.
Consider adding a small regression test that loads cmd/wfctl/wfctl.yaml, builds an engine with the CLI trigger + step.cli_invoke registered, and asserts the CLITrigger has a mapping for "build" (and ideally all commands in cmd/wfctl/main.go's commands map). This would prevent future command additions from being missed in the embedded YAML again.
⏱ Benchmark Results✅ No significant performance regressions detected. benchstat comparison (baseline → PR)
|
Summary
wfctl buildand all its subcommands (image,push,go,ui,custom,audit) which all failed witherror: cli trigger: no pipeline registered for command "build"buildcommand was registered in the Gocommandsmap (main.go:95) but nocmd-build:pipeline was declared in the embeddedwfctl.yamlcmd-buildpipeline entry, consistent with all other command pipelinesReproduction
wfctl build image --config any.yaml # error: cli trigger: no pipeline registered for command "build"Test plan
wfctl build --helpno longer errorsWFCTL_BUILD_DRY_RUN=1 wfctl build image --config testdata/ci-build.yamlprints dry-run outputbuild_image_test.goandbuild_orchestrate_test.gotests passDiscovered during workflow-dnd v0.14.1 migration smoke test (dry-run step failed, surfaced this missing registration).
🤖 Generated with Claude Code