common-workflow-language / common-workflow-language/cwl-v1.2

specify YAML version, which schema

Open
#93 2 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.