question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Improve or replace CWL md5sum repo

See original GitHub issue

Context

https://github.com/dockstore/dockstore/issues/4586#issuecomment-1113775819, see that entire ticket for more details

Describe the bug

https://github.com/dockstore-testing/dockstore-workflow-md5sum-unified

  • Throws warnings in cwltool
  • Has a checker workflow which calls a workflow which itself calls a tool
  • Said checker workflow cannot be imported into SB as-is
  • Even after being modified in a way to allow SB import, said checker wf will fail in SB unless you edit with SB’s rabix editor
  • Appears to be used in our integration tests (“dockstore-workflow-md5sum-unified” has 8 hits in the dockstore/dockstore repo)
  • Is used in our documentation (checksum-support.rst)
  • Is based on the various md5sum workflow/tools that are used all over our docs, so there is a chance those examples may also have issues (“md5sum” has 91 hits in dockstore/dockstore-documentation)

To Reproduce

Throws warnings in cwltool:

  1. Clone the repo locally
  2. cwltool checker_workflow_wrapping_workflow.cwl --input_file md5sum.json
  3. See warnings about foaf towards the top of the output

Has a checker workflow which calls a workflow which itself calls a tool: By this I mean checker_workflow_wrapping_workflow.cwl, which calls md5sum/md5sum.cwl, which calls md5sum/dockstore-tool-md5sum.cwl. It appears that checker_workflow_wrapping_tool.cwl skips the middleman.

Cannot be imported into SB as-is:

  1. Go to https://dockstore.org/workflows/github.com/dockstore-testing/dockstore-workflow-md5sum-unified/cwl_checker:develop?tab=files
  2. Click button to import into SB via BDC
  3. Select a workspace to import into
  4. Get unhelpful error This one can be partially remedied by replacing the contents of md5sum/md5sum.cwl with md5sum/dockstore-tool-md5sum.cwl, which turns this checker workflow–>workflow–>tool import chain into checker workflow–>tool, but…

Even after being modified in a way to allow SB import, still fail in SB unless you edit them in SB’s rabix editor If you replace the contents of md5sum/md5sum.cwl with md5sum/dockstore-tool-md5sum.cwl like mentioned above, you will be able to import into SB, but when trying to actually run the workflow, you will get a “graph not connected” error.

Expected behavior

Throws warnings in cwltool: The CWLs we use for testing and documentation should not throw warnings.

Has a checker workflow which calls a workflow which itself calls a tool: This is fine in and of itself, and it does work in cwltool, but…

Cannot be imported into SB as-is …currently this workflow–>workflow–>tool chain breaks if you try to import it into SB. Our examples should be able to import cleanly into SB, even if are not showing off the import into SB in said example, as it is a common thing to do.

Even after being modified in a way to allow SB import, still fail in SB unless you edit them in SB’s rabix editor This might be a bug with Rabix, but either way, our examples should work in SB without the user needing to debug them.

Why one big ticket?

  • Because these are all connected and provide context for each other
  • Because further investigation is needed to find out what is a TRS issue, a Dockstore issue, and/or a SB issue
  • Because the sum total of this ticket might mean that the short term answer is to replace some of the repos we use for documentation and testing, but maybe that’s not necessary if it turns out there’s a simple fix
  • Because I don’t have a lot of experience with CWL and TRS, so there’s a chance my guesses on how to tackle this/what’s going on might be way off base 😬

If this isn’t a quick issue, and assuming I’m not way off base with my guesses as to what’s going on, I’d split it like this:

  1. investigate the app import failure
  2. investigate the node not connected issue
  3. replace at least this md5sum stuff from docs + tests
  4. investigate if the other md5sum stuff that dockstore-workflow-md5sum-unified is based upon are also problematic (warnings, errors, cannot be imported, node not connected)
  5. fix the warnings r/e foaf/namespaces

┆Issue is synchronized with this Jira Story ┆fixVersions: Dockstore 1.13 ┆friendlyId: DOCK-2162 ┆sprint: 93- Ursula ┆taskType: Story

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:5 (4 by maintainers)

github_iconTop GitHub Comments

0reactions
denis-yuencommented, Aug 24, 2022

Above suggestions implemented to the workflow repo. Remaining work is probably to create a tag and then update the docs as needed

Read more comments on GitHub >

github_iconTop Results From Across the Web

common-workflow-language/cwl-utils: Python 3.6+ ... - GitHub
Replace CWL Expressions with concrete steps​​ cwl-expression-refactor refactors CWL documents so that any CWL Expression evaluations are separate steps (either  ...
Read more >
Creating a reproducible workflow with CWL - Guix-HPC
In the quest for truly reproducible workflows I set out to create an example of a reproducible workflow using GNU Guix, IPFS, and...
Read more >
Developing File Provisioning Plugins
The steps for implementing a new plugin are as follows: Fork the one of the above repos. Rename the project in the pom.xml...
Read more >
How do I get the MD5 sum of a directory's contents as one sum?
The right way depends on exactly why you're asking: Option 1: Compare Data Only. If you just need a hash of the tree's...
Read more >
Will changing a file name affect the MD5 Hash of a file?
No, the hash is of the file contents only. You can see this in the source for md5sum and its MD5 implementation. You...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found