Skip to content
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

Add schema, validation and linting (for .ga and Format 2 in Python and Java) #13

Merged
merged 2 commits into from
Dec 3, 2019

Conversation

jmchilton
Copy link
Member

@jmchilton jmchilton commented Dec 2, 2019

  • Implement manual custom linters for .ga (native) and Format 2 workflows in Python.
  • Use schema-salad to write a schema for Format 2. Schema salad is a schema language built by Peter Amstutz et. al. for the common workflow language project. Using the same schema language - and indeed some of the same mixins/interfaces - continues Format 2 on a path toward convergence with the Common Workflow Language (where it makes sense).
  • Schema-salad gives us both Python validation and nice HTML documentation for free. This work includes a script to generate Galaxy branded workflow documentation for Format 2 (leveraging More options to customize docs. common-workflow-language/schema_salad#298) and that validator.
  • Use extensions to schema-salad I developed for this work (https://github.com/common-workflow-language/schema_salad/pull/299/files) to generate native Java packages for parsing/validation of Format 2 workflows as well.
  • Use schema-salad generated Python parsing for Format 2 to enhance new linting of format 2 workflows.
  • Extend new linting tests for .ga and Format 2 workflows to allow linting from native Java - re-implement identically tested linters in both languages. Should allow validation/linting from Dockstore using https://github.com/galaxyproject/dockstore-galaxy-interface.

Screen Shot 2019-11-26 at 10 03 21 AM

TODO: This adds the framework but there is more linting and validation to be done - tracked in #14.

@jmchilton jmchilton force-pushed the schema branch 4 times, most recently from b17b984 to 488777f Compare December 3, 2019 02:44
- Implement manual linters for .ga and format 2 workflows in Python.
- Use schema salad to write a schema for Format 2. Schema salad is a schema language built for the common workflow language project. Using the same schema language - and indeed some of the same mixins - continues this project on a path toward convergence.
- Use extensions to schema-salad (https://github.com/common-workflow-language/schema_salad/pull/299/files) to generate native Java packages for parsing/validation of Format 2 workflows.
- Use schema-salad generated Python parsing for Format 2 to enhance new linting of format 2 workflows.
- Extend linting tests for .ga and Format 2 workflows to allow linting from native Java - re-implement identically tested linters in both languages. Should allow validation/linting from https://github.com/galaxyproject/dockstore-galaxy-interface.
@jmchilton jmchilton changed the title [WIP] Add schema, validation and linting (for ga and format2 in Python and Java) [WIP] Add schema, validation and linting (for .ga and Format 2 in Python and Java) Dec 3, 2019
@jmchilton jmchilton changed the title [WIP] Add schema, validation and linting (for .ga and Format 2 in Python and Java) Add schema, validation and linting (for .ga and Format 2 in Python and Java) Dec 3, 2019
@jmchilton jmchilton merged commit d269cf9 into master Dec 3, 2019
jmchilton added a commit to galaxyproject/dockstore-galaxy-interface that referenced this pull request Dec 4, 2019
@jmchilton jmchilton deleted the schema branch December 7, 2019 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant