Implement shed serve and test commands, other enhancements.#213
Implement shed serve and test commands, other enhancements.#213jmchilton merged 6 commits intogalaxyproject:masterfrom
Conversation
This will use ``tool_test_output.json`` to determine which tests failed the last time ``planemo test`` was executed and only run those previously failing tests. This should speed up test-driven development of tools. Requires galaxyproject/galaxy#266. Closes galaxyproject#145.
This will install the latest revision of the corresponding selected repositories from the target tool shed and serve a Galaxy instance with them installed.
The test command tests local copies of files, shed_test resolves repositories, find the latest installed revisions on the shed, installs these revisions in a fresh Galaxy clone, and tests them with ``./run_tests.sh -installed``. Requires galaxyproject/galaxy#267. Closes galaxyproject#176.
|
@jmchilton does this get us closer to #19 ? |
|
Nope... this is almost exactly the opposite of that. Planemo was originally about fighting the machine and has totally devolved into just another a cog 😡. I have been making slow progress on #19 (for instance https://github.com/galaxyproject/planemo/tree/shed2tap2). I tried to work on this again this weekend and I am having real problems synchronizing how Python is handled in the Tool Shed with Homebrew. |
|
Ahah. Gotcha. From the description of "installs the latest installable revision of specified repositories into a fresh Galaxy instance and serves it" it sounded a lot like we'd be getting close to testing tools with dependencies. |
|
This does test tools with dependencies - but once they have been uploaded into the tool shed not before. This can be thought of a stand-alone variant of Galaxy's install and test framework. |
|
So, if I'm reading this right, I can use |
|
Not quite - a potential workflow would be something like this:
I don't think I would use The goal with #19 is more to have a |
|
As always I'm thinking from the perspective of CI servers... :) So I could do:
|
|
Well again - if we could do the mythical #19 you wouldn't need the tool shed - planemo+galaxy would be enough. This stop gap is so I have something useful to show at the GCC but doesn't help with your exact scenario. It does help with other potential CI jobs - for instance you can imagine automatically pushing everything committed to github to the test tool shed and if the tests pass there with But yes - this doesn't help at all with testing pull requests say - without combining it with something like #119 or "capsules". |
|
Sure, not needing a TS would be absolutely brilliant, but I'm willing to use whatever hacks/stopgaps I can in the meantime.
definitely going to do that for galaxyproject/tools-iuc#129 I'll play around with the new commands soon and see what I can do, I really, really, really want Jenkins/Planemo tests to start being green across the board rather than "oh, this test is failing because the bedtools from brew is a different patch version than the one in the TS" |
|
@erasche yes we have a TS in a docker container if you are interested. Thanks John! |
|
@bgruening wunderbar. I'll test this out wednesday and see if I can get jenkins to handle complete testing now. Ahhh so excited. |
Implement shed serve and test commands, other enhancements.
shed_testcommand that installs the latest installable revision of specified repositories and tests them. Closes Implement shed_test command. #176. a48d811shed_servecommand that likewise installs the latest installable revision of specified repositories into a fresh Galaxy instance and serves it. 74e3d64test,serve,shed_*). Closes Many more commands should allow specifing multiple directories. #150. 2bd5dfcRequires merging of:
--failedflag for thetestcommand. #210run_tests.sh -installed. galaxy#267