galaxyproject / iwc

Galaxy Workflows maintained by the Intergalactic Workflow Commission
https://dockstore.org/organizations/iwc
29 stars 66 forks source link

Workflow autoupdates #58

Closed simonbray closed 2 years ago

simonbray commented 3 years ago

Parallel to https://github.com/galaxyproject/tools-iuc/issues/3533, it would be great to implement automatic workflow updates.

I wrote a planemo PR which should achieve that here: https://github.com/galaxyproject/planemo/pull/1151. Basically it does exactly the same thing as a user who 1) manually uploads a workflow to a Galaxy server with the latest versions of all tools installed, 2) presses the Upgrade All Workflow Steps button, and 3) redownloads the updated workflow.

Unfortunately the resulting diffs are currently a horrible mess. Here is an example: https://github.com/galaxyproject/iwc/compare/main...simonbray:example-autoupdate

Not sure if anyone has any ideas about how or whether this can be improved. My other idea was to implement a much simpler approach of just iterating over the workflow steps and checking the workflow ID against the toolshed(s) for any newer versions. This should give much cleaner diffs and should also be a lot faster (no need to start up a Galaxy server and install all the necessary tools). But running the autoupgrade through a Galaxy server should be more sophisticated in correcting for e.g. added or deleted tool parameters.

mvdbeek commented 3 years ago

We'll need to gxformat2 with completely labelled steps, this should be much cleaner.

But running the autoupgrade through a Galaxy server should be more sophisticated in correcting for e.g. added or deleted tool parameters.

Yes, I think that is necessary

simonbray commented 3 years ago

We'll need to gxformat2 with completely labelled steps, this should be much cleaner.

So we should put this on hold until the IWC is operating using gxformat2 workflows?

mvdbeek commented 3 years ago

No, this is great. We're also pretty much ready for gxformat2.