Project

General

Profile

Actions

Feature #15028

closed

[CWL] Support CWL draft v1.1

Added by Peter Amstutz almost 6 years ago. Updated over 5 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
-
Story points:
0.5
Release relationship:
Auto

Description

  • Update cwltool dependency
  • Support v1.1 process requirements on Arvados
  • Warn about Arvados extensions that are superseded by v1.1 process requirements
  • Pass v1.1 conformance test suite

Subtasks 4 (0 open4 closed)

Task #15029: Review 15028-cwl-v1.1ResolvedPeter Amstutz05/29/2019Actions
Task #15307: Update documentationResolvedPeter Amstutz05/29/2019Actions
Task #15310: Fix failing tests (oops)ResolvedPeter Amstutz05/29/2019Actions
Task #15324: Review 15028-cwl11-doc-updateResolvedEric Biagiotti05/29/2019Actions
Actions #1

Updated by Peter Amstutz almost 6 years ago

  • Subject changed from [CWL] Support CWL draft v1.1 to [CWL] Support CWL draft v1.1
  • Assigned To set to Peter Amstutz
  • Story points set to 2.0
Actions #2

Updated by Peter Amstutz almost 6 years ago

  • Description updated (diff)
Actions #3

Updated by Peter Amstutz over 5 years ago

  • Target version changed from 2019-04-10 Sprint to 2019-04-24 Sprint
Actions #4

Updated by Peter Amstutz over 5 years ago

  • Status changed from New to In Progress
  • Target version changed from 2019-04-24 Sprint to 2019-05-08 Sprint
Actions #5

Updated by Tom Morris over 5 years ago

  • Target version changed from 2019-05-08 Sprint to 2019-05-22 Sprint
Actions #6

Updated by Tom Morris over 5 years ago

  • Target version changed from 2019-05-22 Sprint to Arvados Future Sprints
Actions #7

Updated by Tom Morris over 5 years ago

  • Target version changed from Arvados Future Sprints to 2019-06-05 Sprint
Actions #10

Updated by Eric Biagiotti over 5 years ago

No comments on the code, but running:

 ./test_with_arvbox.sh  --no-reset-container --config dev --leave-running --suite conformance-v1.1

All the tests return the following:

The CWL reference runner no longer supports pre CWL v1.0 documents. Supported versions are: 
v1.0
v1.1.0-dev1 (with --enable-dev flag only)

Also, would be nice to be able to pass the -j flag through test_with_arvbox.sh. Should work with both integration and conformance tests.

Actions #11

Updated by Peter Amstutz over 5 years ago

Eric Biagiotti wrote:

No comments on the code, but running:

[...]

All the tests return the following:

The CWL reference runner no longer supports pre CWL v1.0 documents. Supported versions are:

You need to run test_with_arvbox.sh with "--build" so that it builds a jobs image with the local checkout instead of fetching arvados/jobs:latest.

Also, would be nice to be able to pass the -j flag through test_with_arvbox.sh. Should work with both integration and conformance tests.

That ought to work. Did you try it?

Actions #12

Updated by Eric Biagiotti over 5 years ago

Gave up on running the tests with test_with_arvbox. Maybe we need some better documentation for running that script.

./run_test.sh -j8 RUNNER=arvados-cwl-runner EXTRA="--api=containers --compute-checksum --disable-reuse --local" resulted in the following:

Test 253 failed: /home/eric/projects/cwl_env/venv/bin/arvados-cwl-runner --api=containers --compute-checksum --disable-reuse --local --outdir=/tmp/tmpZhRx2l --quiet tests/optional-numerical-output-0.cwl tests/empty.json
Test that optional number output is returned as 0, not null

Compare failure expected: {
    "out": 0
}
got: {
    "out": null
}
caused by: failed comparison for key 'out': expected: 0
got: null
250 tests passed, 1 failures, 2 unsupported features
Actions #13

Updated by Peter Amstutz over 5 years ago

  • Target version changed from 2019-06-05 Sprint to 2019-06-19 Sprint
Actions #14

Updated by Ward Vandewege over 5 years ago

  • Release set to 22
Actions #15

Updated by Peter Amstutz over 5 years ago

  • Target version changed from 2019-06-19 Sprint to 2019-07-03 Sprint
  • Story points changed from 2.0 to 0.5
Actions #16

Updated by Peter Amstutz over 5 years ago

  • Target version changed from 2019-07-03 Sprint to 2019-07-17 Sprint
Actions #17

Updated by Peter Amstutz over 5 years ago

Documentation branch: 15028-cwl11-doc-update @ b23721a01f61c6d9862ea6cb4d15bd620e06eeef

Actions #18

Updated by Eric Biagiotti over 5 years ago

Peter Amstutz wrote:

Documentation branch: 15028-cwl11-doc-update @ b23721a01f61c6d9862ea6cb4d15bd620e06eeef

  • Remove "this" in:
    The one exception to the @hints@ section this is @arv:APIRequirement@
  • Would be nice to link back to the API Requirement extension from the reference to it in the cwl workflow tutorial
  • The Portability section in cwl-style.html:
    • The first sentence seems like it should go above the portability section
    • The subsequent sentences kind of come out of no where. Maybe a lead in sentence about why portability is important would help, or "Consider the following recommendations to improve portability of your workflows...".
    • The tip to Avoid declaring InlineJavascriptRequirement is a performance problem and should probably be in the performance section.
  • I think a separate page for Upgrading CWL might be helpful going forward. At the very least it shouldn't be a subsection under Portability.
Actions #19

Updated by Peter Amstutz over 5 years ago

  • Target version changed from 2019-07-17 Sprint to 2019-07-31 Sprint
Actions #20

Updated by Peter Amstutz over 5 years ago

  • Target version deleted (2019-07-31 Sprint)

Eric Biagiotti wrote:

Peter Amstutz wrote:

Documentation branch: 15028-cwl11-doc-update @ b23721a01f61c6d9862ea6cb4d15bd620e06eeef

  • Remove "this" in: [...]

Fixed. Actually I rewrote this whole thing to add more detail.

  • Would be nice to link back to the API Requirement extension from the reference to it in the cwl workflow tutorial

Added link.

  • The Portability section in cwl-style.html:
    • The first sentence seems like it should go above the portability section
    • The subsequent sentences kind of come out of no where. Maybe a lead in sentence about why portability is important would help, or "Consider the following recommendations to improve portability of your workflows...".
    • The tip to Avoid declaring InlineJavascriptRequirement is a performance problem and should probably be in the performance section.

I rearranged this a bit and added lead-in sentences to set up each section.

  • I think a separate page for Upgrading CWL might be helpful going forward. At the very least it shouldn't be a subsection under Portability.

I made a separate "Version and API support" page.

15028-cwl11-doc-update @ ad76d059c306a73af45b6b7525aabb5f54c73f8b

Actions #21

Updated by Eric Biagiotti over 5 years ago

This LGTM. Thanks!

Actions #22

Updated by Peter Amstutz over 5 years ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF