-
Notifications
You must be signed in to change notification settings - Fork 21
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
Strategy to update workflows needed #3
Comments
Hi @bgruening, continuing discussion from galaxyproject/training-material#1896 A way forward could be to rewrite the Prior to being able to implement this there would need to be a clean-up of the paths (in workflow-testing) so that any I could make a start on this. |
I like that, this would also save the long cloning step. Thanks @cat-bro for working on that. |
for what it's worth: My future plan was to just merge this back into the training material. I only created the separate repo to let things move a bit faster while we were getting testing worked out. Things seem stable enough now (and with a second site!) that we should make this a standard part of the GTN. I'm happy to help with this too, for what it's worth. It would not be too difficult to merge back + update the tests. |
We would still need this repo for other - non training workflows I think. |
Ahh I hadn't considered that use case. Would it make sense to keep both repos then? I would really love to see the training tests as close to the training materials as possible (and kept to high standards), and then this repository could give more freedom, whatever test you want to write, or so? |
What if everything under training were kept in galaxyproject/training-material (single source of truth) and in this repo there was just a yaml listing the .ga files and test files for any workflows that had tests? Jenkins could get these with wget rather than cloning the repo. The thing I suggested in June about syncing them over would work, but even then the double-ups are problematic. Non-GTN workflows would still live here. |
That could work @cat-bro, sounds good. |
I assume then developing the workflow tests is not that intuitive. As you don't have the workflows next to the tests. |
Oh, I assumed that's what @cat-bro meant, both WFs + tests live in the GTN. |
yes, what @hexylena said |
Cool, Having everything in GTN sounds great! |
So we need some logic to traverse GTN, find workflow-tests and run them. What do you think about adding a Makefile that clones the GTN (only latest HEAD) and traverses the tree and somehow returns the path to the workflow-test files. We could also keep the list of workflows (outside of GTN) in this Makefile and finally trigger a run. This would also simplify the Jenkins setup. The current list from Jenkins is:
|
Yes, that sounds good. Something like
Some of the tutorials listed above will not have equivalents in GTN (sklearn I think?) so there would need to be a separate list of these |
unnecessary, small optimisation:
otherwise sounds good1 |
Yes, I think there is a need to have still workflows here. E.g. user-worfklows that will not make it into GTN anytime soon. Or a really strange workflow that just utilize a buch of functionallity etc ... |
@cat-bro do we have a plan to move forward? Are you planning to work on this? Can we help somehow? |
Hi @bgruening, this is on my trello but I keep getting distracted by other things. I would really love to be able to test all of the workflows that run on Galaxy Australia. It would be a great comfort to people who run training sessions. A short term goal would be to have tests for as many of the workflows in GTN as possible. Is it OK for me to update some of the GTN tutorials to use more up-to-date versions of the tools than they currently do? I think there are some that still use tool versions that break on python3, but there are also some that use tool versions from 2017/2018 that I don't believe anybody actually teaching or learning from the tutorial will be using: in generally they will be using the latest version available. A long term goal in my mind would be to have a strategy of workflow testing that accounts for the fact that most of the time, tool versions used in tutorials will be the latest available versions and not necessarily the versions listed on the workflows. I think that the tests as they currently are are useful, but that sometimes they are testing flows that would be unlikely in a teaching setting. For example if Galaxy has grappa version 1.2a and grappa version 3.4b, the workflow might contain grappa 1.2a but in a real world teaching scenario students will be using 3.4b, if this makes any sense. |
Of course!
In theory, our training materials should all be updated to latest versions. We are just not able to do this currently. I guess one step in this direction is to inform the training author ... so have something automatic that bumps the workflow to the latest versions, runs the tests and informs the author of the training to check the (update) PR. |
|
^ boxes are ticked if the tutorial has an equivalent working test in GTN. I think that the sequence-analysis tutorials do too but I'd need to run the tests again to be sure. As a first step it would be good to have equivalent tests in GTN for all of these, so that no value is lost moving to running the GTN tests instead of the tests in this repo. |
@cat-bro; @malloryfreeberg has started to add several new tests to GTN in the last weeks. This is all super exciting! Thanks all! |
@cat-bro the list of workflows and workflow tests I've been adding to the GTN material are all referenced in this ticket: galaxyproject/training-material#1459 |
That's great! There are now more tests for training material in GTN than in this repo. There are still a few in this repo that do not have equivalent tests in GTN but they may need a bit more work and can be added to GTN over time. It's probably time to abandon the training tests in this repo and run the tests that are in GTN. A script to run the tests could be something like
The above is untested/unfinished. Not sure if it's best to be cloning training-material each time or to have a clone somewhere on the Jenkins server that can have I really like the idea of having a merged test report that could be available on Jenkins. |
@cat-bro I like your ideas, and am fully supportive of harmonising the tests and finding ways to keep them up-to-date. Let me know what would be helpful for you to support this. I'm happy to continue going through all the GTN materials and making sure all the tutorials have both a workflow and a workflow test. |
Cloning is ok. We can use This is what we do in the tools-land to merge the planemo Json reports: https://github.com/galaxyproject/tools-iuc/blob/master/.github/workflows/pr.yaml#L315 |
External workflows, e.g. the once from the training material, should be updated regularly. Or even better should be a linked against the training material. Maybe we can pull them down before running the tests as we do with data sets currently.
The text was updated successfully, but these errors were encountered: