Conversation
jmchilton
force-pushed
the
test-serve-results
branch
from
September 25, 2026 18:08
2a1342d to
4f5f6cb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Depends on #1701. Addresses #1175 and supersedes the implementation approach explored in #1185.
Motivation
planemo testnormally tears down its managed Galaxy as soon as testing finishes. That remains the right default for automation, but it makes an interactive debugging loop awkward: the histories and datasets that explain a failure disappear with the server.#1185 demonstrated the value of a
test --serveworkflow, but its implementation forked after Galaxy had started threads, switched the test process to the external-Galaxy engine, bypassed temporary-directory cleanup, and needed special handling for directory runnables. The engine and process-management layers have changed substantially since then.This follow-up is built directly on #1701 so the package-installed Galaxy case uses the same Gravity-managed lifecycle as its
serve,run, and ordinarytestpaths.Changes
planemo test --servefor Planemo-managed Galaxy engines.--hostand--portonplanemo test;--serveuses Galaxy's standard port 9090 unless a port is supplied, while ordinary tests continue to request a free port.--servebefore execution for engines whose server lifecycle Planemo does not own, including cwltool, Toil, and external Galaxy.For example:
planemo test --engine installed_galaxy --serve path/to/tool.xmlThe capability lives at the engine boundary. Checkout-backed, Dockerized, and #1701's
installed_galaxyengines share the implementation throughLocalManagedGalaxyEngine; the installed engine therefore continues to use Gravity exclusively for process management. There is nofork(), engine substitution, or second Galaxy lifecycle implementation.Stacking note
The branch is based directly on #1701's head commit. Because that head branch lives in a fork, GitHub requires this upstream PR to target
galaxyproject/planemo:master; until #1701 merges, the displayed diff includes the prerequisite commit. Once #1701 merges, this PR reduces naturally to the singletest --servecommit.Compatibility
This is opt-in. Without
--serve, engine selection, temporary-port selection, history cleanup, reporting, and shutdown behavior are unchanged.Validation
installed_galaxyacceptance suite passed (4 passed, 1 Tool Shed test intentionally deselected), including a new end-to-end case that verifies: