Open
Description
GitLab recently added the spec:inputs
CI/CD YAML keyword which makes use of multi-document YAML files. The following example is taken straight from their docs:
spec:
inputs:
job-stage:
default: test
environment:
default: production
---
scan-website:
stage: $[[ inputs.job-stage ]]
script: ./scan-website $[[ inputs.environment ]]
However, check-jsonschema
refuses to parse such a file and errors out:
> check-jsonschema.exe --verbose --schemafile https://gitlab.com/gitlab-org/gitlab/-/raw/master/app/assets/javascripts/editor/schema/ci.json .\.gitlab-ci.yml
Several files failed to parse.
FailedFileLoadError: Failed to parse .\.gitlab-ci.yml
in "C:\Users\username\pipx\venvs\check-jsonschema\Lib\site-packages\check_jsonschema\instance_loader.py", line 50
>>> data: t.Any = self._parsers.parse_data_with_path(
caused by
ComposerError: expected a single document in the stream
in "<byte string>", line 2, column 1:
spec:
^ (line: 2)
but found another document
in "<byte string>", line 10, column 1:
---
^ (line: 10)
in "C:\Users\username\pipx\venvs\check-jsonschema\Lib\site-packages\check_jsonschema\parsers\__init__.py", line 102
>>> return loadfunc(data)
Metadata
Metadata
Assignees
Labels
No labels