16169: Monkey patch load_tool.resolve_and_validate_document to fix bug
authorPeter Amstutz <peter.amstutz@curii.com>
Fri, 28 Feb 2020 17:07:35 +0000 (12:07 -0500)
committerPeter Amstutz <peter.amstutz@curii.com>
Mon, 2 Mar 2020 18:00:48 +0000 (13:00 -0500)
commit1d9e4de7a4ff994cfc7a9319dcae56bb26c272b3
treee70f3a47fee0a4d7e299760f2534f045ed3f446d
parent6bc3d81b5d6ce487356a252b9db4ad956a91c453
16169: Monkey patch load_tool.resolve_and_validate_document to fix bug

There is a bug in upstream cwltool where the version updater needs to
replace the document fragments in the loader index with the updated
ones, but actually it only does it for the root document.  Normally we
just fix the bug in upstream but that's challenging because current
cwltool dropped support for Python 2.7 and we're still supporting py2
in Arvados 2.0 (although py2 support will most likely be dropped in
Arvados 2.1).  Making a bugfix fork comes with its own
complications (it would need to be added to PyPi) so monkey patching
is the least disruptive fix (and is relatively safe because our
cwltool dependency is pinned to a specific version).  This
should be removed as soon as a bugfix goes into upstream cwltool and
we upgrade to it.
sdk/cwl/arvados_cwl/__init__.py
sdk/cwl/tests/wf/16169-step.cwl
sdk/python/arvados/commands/keepdocker.py