Open vpoverennov opened 1 month ago
First: 100% this is a bug in typify.
We've seen this sort of construction in a few other JSON schema (e.g. #299) and OpenAPI documents (a bit like https://github.com/oxidecomputer/progenitor/issues/591). Rather than having a flat list of definitions
, this schema groups them into categories:
$ pbpaste | jq '.definitions.builtinSteps | keys'
[
"configuration",
"documentation"
]
$ pbpaste | jq '.definitions.builtinSteps.configuration | keys'
[
"add_ssh_keys",
"attach_workspace",
"checkout",
"deploy",
"persist_to_workspace",
"restore_cache",
"run",
"save_cache",
"setup_remote_docker",
"store_artifacts",
"store_test_results",
"unless",
"when"
]
$ pbpaste | jq '.definitions.builtinSteps.documentation | keys'
[
"add_ssh_keys",
"attach_workspace",
"checkout",
"deploy",
"persist_to_workspace",
"restore_cache",
"run",
"save_cache",
"setup_remote_docker",
"store_artifacts",
"store_test_results",
"unless",
"when"
]
Unforunately there isn't a simple workaround; see #579.
Hitting a panic in
all_mutually_exclusive
->resolve
util.rs:566minimal repro:
extracted minimal repro from circleci json schema (src)