-
-
Notifications
You must be signed in to change notification settings - Fork 231
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
Experimental fast validator code path, using cwl-utils #1720
Conversation
Requires schema salad codegen improvements, these are pending On a very large workflow I was testing with, the validation time went 120 seconds to 20 seconds. This is a work in progress.
To-do:
|
Codecov Report
@@ Coverage Diff @@
## main #1720 +/- ##
==========================================
- Coverage 66.61% 57.68% -8.93%
==========================================
Files 89 99 +10
Lines 15856 11479 -4377
Branches 4190 2310 -1880
==========================================
- Hits 10562 6622 -3940
- Misses 4206 4368 +162
+ Partials 1088 489 -599
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
This pull request introduces 1 alert when merging f6d8198 into 0e2ced5 - view on LGTM.com new alerts:
|
With parser from latest codegen fixes, now passing the entire v1.2.1-proposed conformance suite. |
This pull request introduces 1 alert when merging b145e3c into 0e2ced5 - view on LGTM.com new alerts:
|
Great progress!
Can we get a draft |
As soon as I can make mypy happy |
We probably also want a CI action that run the conformance tests with --fast-validator |
This pull request introduces 1 alert when merging b00b17e into 2a2216b - view on LGTM.com new alerts:
|
This pull request introduces 1 alert when merging cf846bc into 2a2216b - view on LGTM.com new alerts:
|
This pull request introduces 1 alert when merging 3adbcbc into 2a2216b - view on LGTM.com new alerts:
|
8574126
to
38203f3
Compare
38203f3
to
80271c4
Compare
For the docs, we need to explain if there are any downsides. (Are error messages less helpful? Are some types of errors not caught by this code path?) |
There are two main gaps currently:
Validation errors do include file/row/column but are somewhat less polished. |
Confirmed by editing
A candidate for a unit test |
This pull request introduces 1 alert when merging 80271c4 into f43ca87 - view on LGTM.com new alerts:
|
This pull request introduces 1 alert when merging 8c1c82d into f43ca87 - view on LGTM.com new alerts:
|
ooh, it doesn't catch the empty
and default file objects are not checked either
And extensions don't work either. We should error on combining
It is also intolerant of extra |
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.
odd that we are missing test coverage at https://github.com/common-workflow-language/cwltool/pull/1720/files#diff-7bc82a2b4dbfbc386a1c1d22dac00140d782b959e858cd99978fc3ee193d15f2R273 and beyond ; can you look into that? Is test coverage not being collected in the --fast-parser github action run of the conformance tests?
Co-authored-by: Michael R. Crusoe <1330696+mr-c@users.noreply.github.com>
I don't actually know how we enable coverage data to be collected? |
Line 86 in 1e150ab
|
Well now it's failing on "pinging codecov" 🤦 |
Do you have a link? I'm not seeing that.. |
It was one of the earlier test iterations (py36 I think), but it seems to have just been a transient failure. |
Coverage is being recorded for |
Much better! (it was previously 33%) |
On a very large workflow I was testing with, the validation time went 120 seconds to 20 seconds. * conformance testing: use CWLTOOL_OPTIONS * CWLTOOL_OPTIONS: ignore an empty string * Add loadingContext.skip_resolve_all with note * conformance tests: report CWLTOOL_OPTIONS * CI: include extra options in coverge classname * conformance coverage: normalize paths * Bump cwl-utils version requirement Co-authored-by: Michael R. Crusoe <1330696+mr-c@users.noreply.github.com>
--fast-parser
class
fields in extensionsThis is a work in progress.
Requires schema salad codegen improvements in common-workflow-language/schema_salad#587 which will need to be applied to cwl-utils.
On a very large workflow I was testing with, the validation time went
120 seconds to 20 seconds.