common-workflow-language / common-workflow-language/cwl-v1.2
specify YAML version, which schema
- Dominant language
- Common Workflow Language
- Stars
- 45
- Forks
- 28
- PR merge metrics
- No merged PRs in 30d
Description
the CWL reference runner supports YAML 1.2 with the core schema via ruamel.yaml
Java based CWL parsers tend to either use snakeyaml which is YAML 1.1 only. snakeyaml-engine supports YAML 1.2, but only the JSON schema, and not the core schema.
Some fun examples of why this matters:
1. `False` (capital `F`) being interpreted as a `boolean` as in https://github.com/common-workflow-language/cwl-v1.2/blob/b35840eb3c4663ea1fcae2f97e403f89197dfe85/tests/stderr.cwl#L13 is not supported in YAML 1.2 unless the parser supports the core schema, not just the JSON schema.
2. `Yes` (unquoted) is interpreted as a boolean in YAML 1.1, but not YAML 1.2
Contributor guide
No contributing guide indexed for this repository
Research direction
Review the YAML 1.2 and core-schema discussion, starting with the linked tests/stderr.cwl example. Compare the stated ruamel.yaml behavior with YAML 1.1 and YAML 1.2 JSON-schema behavior in the referenced parsers. Done means the CWL specification explicitly identifies the required YAML version and schema, with the relevant examples and parser expectations consistent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- yaml
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100