Composer CWL version errors

Hi all, we have Arvados 2.0 up and running. We are following the tutorial of simple Sort-Uniq workflow (https://doc.arvados.org/v2.0/user/composer/composer.html). Although the workflow and the tools are specified as CWL v1.0 on Composer, upon running Arvados gives an error saying:

Error: cwltool: Workflow error, try again with --debug for more information:
Tool definition file:///var/lib/cwl/run/sort.cwl failed validation:
  The CWL reference runner no longer supports pre CWL v1.0 documents. Supported versions are: 
  v1.0
  v1.1
  v1.1.0-dev1 (with --enable-dev flag only)
  v1.2.0-dev1 (with --enable-dev flag only)
  v1.2.0-dev2 (with --enable-dev flag only)

any ideas? another interesting seemingly bug (?) is the persistance of ‘sbg:x’ and ‘sbg:y’ parameters in the code even when the workflow version is v1.0, that results in a separate error telling that URI prefix 'sbg' of 'sbg:y' not recognized, are you missing a $namespaces section?. we were able to get around this error by manually adding the below to the workflow code. any help would be greatly appreciated. PS. is sbg:draft-2 not supported?

$namespaces:
    sbg: https://sevenbridges.com

sbg:draft-2 is not supported.

Could you post the CWL file it produced? I’m quite confused, it should only produce v1.0 documents.

  • Here is the sort.cwl tool:
class: CommandLineTool
cwlVersion: v1.0
id: sort_cwl
baseCommand:
  - sort
inputs:
  - id: input
    type: File
    inputBinding:
      position: 0
outputs:
  - id: output
    type: File
    outputBinding:
      glob: sorted.txt
label: sort
requirements:
  - class: DockerRequirement
    dockerPull: 'ubuntu:latest'
stdout: sorted.txt
  • Here is the uniq.cwl tool:
class: CommandLineTool
cwlVersion: v1.0
id: uniq_cwl
baseCommand:
  - uniq
inputs:
  - id: input
    type: File
    inputBinding:
      position: 0
outputs:
  - id: output
    type: File
    outputBinding:
      glob: sorted_uniq.txt
label: uniq
requirements:
  - class: DockerRequirement
    dockerPull: 'ubuntu:latest'
stdout: sorted_uniq.txt
  • And here is the workflow that connects them:
class: Workflow
cwlVersion: v1.0
id: birworkflow_cwl
label: birworkflow
$namespaces:
    sbg: https://sevenbridges.com
inputs:
  - id: input
    type: File
    'sbg:x': -496.5999755859375
    'sbg:y': -85.79998779296875
outputs:
  - id: output
    outputSource:
      - uniq_cwl/output
    type: File
    'sbg:x': 223.4000244140625
    'sbg:y': -7.79998779296875
steps:
  - id: sort_cwl
    in:
      - id: input
        source:
          - input
    out:
      - id: output
    run: ./sort.cwl
    label: sort
    'sbg:x': -266
    'sbg:y': -39
  - id: uniq_cwl
    in:
      - id: input
        source:
          - sort_cwl/output
    out:
      - id: output
    run: ./uniq.cwl
    label: uniq
    'sbg:x': -6
    'sbg:y': -30
requirements: []

On terminal cwltool --validate successfully validates uniq.cwl, sort.cwl, and birworkflow.cwl. I can do the test runs successfully with uniq.cwl and sort.cwl on Composer, so I know they work. It is just once I move them to a workflow (birworkflow.cwl), the workflow fails with the aforementioned error.