You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I ran into an issue when my build pipeline accidentally included a named step that lacked a command or other body. I whittled it down to this MWE:
# .buildkite/pipeline.yml
---
steps:
- name: foo
I use buildkite-signed-pipeline, and what it shows me is the following:
~~~ Running commands
$ trap 'kill -- $$' INT TERM QUIT; buildkite-signed-pipeline upload
2023/10/31 02:19:03 Using secret from AWS SM arn:aws:secretsmanager:us-east-2:123:secret:/buildkite-agent/non-production/signed_pipeline-xyz
2023/10/31 02:19:03 $ buildkite-agent pipeline upload --dry-run
2023-10-31 02:19:03 INFO Searching for pipeline config...
2023-10-31 02:19:03 INFO Found config file ".buildkite/pipeline.yml"
2023-10-31 02:19:03 INFO Updating BUILDKITE_COMMIT to "d34db33f"
2023-10-31 02:19:03 INFO Reading pipeline config from STDIN
2023-10-31 02:19:04 ERROR Unrecoverable error, skipping retries
2023-10-31 02:19:04 FATAL Failed to upload and process pipeline: Pipeline upload rejected: Step is missing a type `{"name":"foo"}`
2023/10/31 02:19:04 exit status 1
I thought i'd be clever and introduce a JSON schema validation step using the jv tool, however it seems that your JSON schema doesn't prohibit the situation i describe:
I ran into an issue when my build pipeline accidentally included a named step that lacked a
command
or other body. I whittled it down to this MWE:I use
buildkite-signed-pipeline
, and what it shows me is the following:I thought i'd be clever and introduce a JSON schema validation step using the
jv
tool, however it seems that your JSON schema doesn't prohibit the situation i describe:Is this behaviour expected? I would think the JSON schema should reject a pipeline the API will reject.
The text was updated successfully, but these errors were encountered: