Closed jmchilton closed 2 years ago
Planemo workflow lint does some things right? Or is that just in gxformat2 and not yet integrated. I need to do some more research.
The workflow_lint
subcommand doesn't deal with any of the creator, annotation or licence checks that are performed in the UI.
I can work on making sure that Planemo is checking the same things as the UI best practices panel. But it doesn't seem ideal to duplicate the checks which are being done in the Galaxy frontend (https://github.com/galaxyproject/galaxy/blob/dev/client/src/components/Workflow/Editor/Lint.vue) in Planemo, that will be annoying if the best practices are ever modified or extended.
Perhaps the checks could be made in the backend rather than in the client so they are also accessible for Planemo. But then Planemo needs to spin up a Galaxy server just to do linting... that also doesn't seem ideal.
(cont. from a GDoc thread)
To the extent possible we should use schema-salad to do the linting (pretty sure we already do that for gxformat2), which can produce code to do that in multiple languages, among which python and typescript, so we have a common source of truth. I don't think that should block the manuscript though.
I really tried to make a schema salad description of the ga format and failed utterly at every step. My, perhaps unpopular, opinion is I think it is a tool for describing CWL-like languages and is not suitably general purpose for stuff like this.
I thought we're sticking with gxformat2 ?
Write a section in the docs about workflow linting and mention the workflow best practices panel.
For each linting action either does - make sure there is a description of which linting source does what and create issues for missing linting actions in Planemo.