Workflow linting and best practices#1028
Merged
jmchilton merged 3 commits intogalaxyproject:masterfrom Jul 28, 2020
Merged
Conversation
mvdbeek
reviewed
Jul 22, 2020
61a9a7a to
79b96c6
Compare
daec46e to
aa69224
Compare
mvdbeek
reviewed
Jul 23, 2020
ab47247 to
24c8b18
Compare
c0d6e95 to
a897c5d
Compare
cat-bro
added a commit
to cat-bro/training-material
that referenced
this pull request
Jul 25, 2020
…assembly using planemo galaxyproject/planemo#1028
cat-bro
added a commit
to cat-bro/training-material
that referenced
this pull request
Jul 25, 2020
…assembly using planemo galaxyproject/planemo#1028
cat-bro
added a commit
to cat-bro/training-material
that referenced
this pull request
Jul 25, 2020
…assembly using planemo galaxyproject/planemo#1028
cat-bro
added a commit
to cat-bro/training-material
that referenced
this pull request
Jul 25, 2020
…assembly using planemo galaxyproject/planemo#1028
8a84059 to
c0f7dd6
Compare
- Bring in all structural linting from gxformat2. - Add a bunch more linting for tests and Dockstore configs. - Add a command to generate a Dockstore configuration from a repository of Galaxy workflows. - Add a command to stub out a workflow test case from a supplied workflow.
c0f7dd6 to
fbede70
Compare
mvdbeek
reviewed
Aug 3, 2020
Member
mvdbeek
left a comment
There was a problem hiding this comment.
Sorry for the late review, 2 small suggestions here.
| job_output = new_workflow_associated_path(workflow_path, suffix="job1") | ||
| test_description = [{ | ||
| 'doc': 'Test outline for %s' % path_basename, | ||
| 'job': os.path.basename(job_output), |
Member
There was a problem hiding this comment.
Can we combine these into a single file ? I think that's easier to edit.
| test_description = [{ | ||
| 'doc': 'Test outline for %s' % path_basename, | ||
| 'job': os.path.basename(job_output), | ||
| 'outputs': {} |
Member
There was a problem hiding this comment.
It would be great of we can prefill these with all labeled outputs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add best practices guide for workflow development to the docs and implement a few new commands to support it.
workflow_lint [path]+: Lints workflows - all the structural/correctness stuff from gxformat2 validation and linting, (from gxformat2) verify it has outputs and they have labels, verify it has test data, verify the inputs on the test data match inputs in the workflow, verify all non-optional inputs of the workflow are specified in the test data. Verify files referenced by any.dockstore.ymlencountered has the appropriate YAML structure and references existent files.dockstore_init: Walk directory for workflows and test files and create an appropriate.dockstore.yml.workflow_test_init: Create a stub test and job file to aid in (and generally demystify) assembling test cases for workflows.All these commands (like
test,run, andservealready) transparently work with either traditional Galaxy workflows (.gafiles) or newer Format 2 YAML workflows.