-
-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cwl v1.3.0-dev1 native loop support #1779
Conversation
8e78125
to
52710a1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Huzzah!
You'll also need to add a dump of the v1.3.0-dev1
schema to https://github.com/common-workflow-language/cwltool/tree/cwl-v1.3/cwltool/schemas
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1779 +/- ##
==========================================
- Coverage 83.84% 83.76% -0.08%
==========================================
Files 46 46
Lines 8244 8262 +18
Branches 2190 2199 +9
==========================================
+ Hits 6912 6921 +9
- Misses 855 861 +6
- Partials 477 480 +3 ☔ View full report in Codecov by Sentry. |
"The `cwltool:Loop` clause is not compatible with the `when` directive." | ||
) | ||
if "loopWhen" not in r: | ||
raise SourceLine( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test case for this, please
cwltool/update.py
Outdated
) | ||
cls = cast(str, r["class"]) | ||
if cls in rewrite: | ||
r["class"] = rewrite[cls] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line has no test coverage.
ff257a0
to
383832b
Compare
With the fix in common-workflow-language/schema_salad#846 this passes unit tests for me. |
I didn't think you meant to close this PR @tetron 🙂 |
github seems to have done it automatically |
Ok, unit tests passing, there's an issue with some conformance tests, and then we need to make codecov happy, but it is progress at least. |
@tetron I think those may be due to recent changes to Did you see my email about the cofest? |
Ok! So we're just down to the test coverage check. |
schema-salad catches that before the updater runs
Keep the cwltool:Loop tests as "loop_ext"
I can't mark the individual line because the formatter insists on reformatting the line in a way that flake8 no longer recognizes the annotation.
I keep fiddling with this but I think we should just override the codecov check because at least one of the lines it is complaining about appears to be almost impossible to trigger in normal usage because it is an exception handler and "normal" exceptions get routed another way, so it only engages if a very truly unexpected case happens. Possibly we could mock something but I'm pretty sure at this point the cost/benefit of trying to make codecov happy for these corner cases is very bad. I haven't yet managed to determine if there's a way to tell codecov to ignore certain lines. |
This commit converts the logic introduced to handle the
cwltool:Loop
requirement extension to handle the newloop
construct introduced in the CWL v1.3 spec.A proper method in the
upgrade.py
module handles the automatic conversion from the old requirement to the new format.The existing
test_loop.py
file is still useful to verify the correctness of the conversion process.See also common-workflow-language/cwl-v1.3#5