-
Notifications
You must be signed in to change notification settings - Fork 1k
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
24.2 linter fallout #19197
Comments
Starting with profile 24.2, we don't load tests that cannot be exactly matched against a valid schema for running the tool. This means all the parameters must match the API for the tool precisely. This should catch missing required options, any parameter misspelled, parameters not in the right part of the tree, etc.. I think this catches many important of classes of errors in linting that would only be catchable at runtime previously and some stray parameters and such that wouldn't be caught at runtime. This should speed up tool development but I agree the Pydantic output leaves a lot to be desired and I'm not sure how to address the problem.
I mean we should only touch the tools before we update them right? I wouldn't go through and fix things preemptively based on these issues.
I'll take a look at this today. |
I mean arguably we don't need a tool version update for fixing the test cases? Do we have a best practice around that? I don't mind spending a couple days trying to fix that tools if the reviews will be quick and we don't bump the tool version. |
This looks like a valid linting issue to me. In test case #6 - the conditional |
What I meant is this:
Then it goes on for pages. |
It looks like it is elink and the new parameter validation. It can be run in isolation with
It takes a few minutes on my laptop. I assume pydantic validation against the model generated from db_db_link_macro would take a long time. It is thousands of lines of conditional logic - I guess the structural type matching against that could be tough. |
Yup - I see the problem with that for sure. We don't use the XML typing when converting those assertions into YAML. The XSD will be correct for these but the assertion models will fail. I'll figure out how to fix that. |
Anyway .. Let me just highlight that I definitely welcome the new linter. But I'm afraid that the transition will be quite rough for all the tool repos .. besides IUC. Let's say one person can fix 10 tool repos a day .. then that person will need to spend more than a month on IUC. But, we can of course silence the linter repo-wise.
This means that for tool profile 24.2 this will be an error and (more important) testing goes as before for smaller profiles? |
Testing will work as normal for earlier tool profile versions - yes. And there should be a clear failure for newest tool profile versions when running Planemo but I haven't run all the pieces together yet. I think you're the first person to use Planemo with the new version of tool-util. |
I always symlink |
Describe the bug
Nearly half of the IUC tool repos wont pass the
TestsCaseValidation
linter: galaxyproject/tools-iuc#6590But, many are just due to tests not specifying conditionals. Just had a quick look
tools/spapros/evaluation.xml
tools-iuc/tools/ncbi_entrez_eutils/
takes a lot of memory (but could be something else)In general I found that it will be quite hard for tool developers to interpret this errors.
Wondering also about the precise meaning of
tests won't run on a modern Galaxy tool profile version
If they are all (or many of them) true positives I'm really worried how to fix this. Seems like a huge effort to touch all those tools.
Galaxy Version and/or server at which you observed the bug
Galaxy Version: 24.2
The text was updated successfully, but these errors were encountered: