Skip to content
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

Build mulled images for Singularity on demand... #4185

Merged
merged 1 commit into from Jun 14, 2017

Conversation

Projects
None yet
2 participants
@jmchilton
Copy link
Member

commented Jun 13, 2017

... if a cached container for the tool in question cannot be found. This mirrors behavior for Docker and can be disabled by setting up a custom containers resolution file.

This should also enable easy testing of tools with Planemo using Singularity.

xref #4179 (cached mulled support)
xref #4182 (the issue)
xref galaxyproject/galaxy-lib#66 (singularity changes in this PR added to galaxy-lib allowing this)

@@ -333,10 +340,15 @@ def resolve(self, enabled_container_types, tool_info):
if len(targets) == 0:
return None

image_build = None

This comment has been minimized.

Copy link
@bgruening

bgruening Jun 13, 2017

Member

An other possibility is to default build in build_target to 0 and not to None. Question is if we want to enforce a build number by default or not.

This comment has been minimized.

Copy link
@jmchilton

jmchilton Jun 13, 2017

Author Member

I think the problem is galaxyproject/galaxy-lib@3b8062d#commitcomment-22516073 - sorry that I didn't spend more time looking into that. I'll redo this PR.

This comment has been minimized.

Copy link
@jmchilton

jmchilton Jun 13, 2017

Author Member

Rebased with this hack cleaned up a bit.

@@ -307,7 +312,7 @@ def __str__(self):

@six.python_2_unicode_compatible
class BuildMulledDockerContainerResolver(ContainerResolver):
"""Look for mulled images matching tool dependencies."""
"""Build for Docker mulled images matching tool dependencies."""

resolver_type = "build_mulled"

This comment has been minimized.

Copy link
@bgruening

bgruening Jun 13, 2017

Member

Should the resolver type also be more explicit here? build_mulled_docker?

This comment has been minimized.

Copy link
@jmchilton

jmchilton Jun 13, 2017

Author Member

I don't feel strongly on this - I'd leave it as it is because it is easier and backward compatible - but if you'd like me to make it more explicit I certainly can.

This comment has been minimized.

Copy link
@bgruening

@jmchilton jmchilton force-pushed the jmchilton:singularity_mulled_build branch 2 times, most recently from 46adb26 to d983248 Jun 13, 2017

@@ -32,7 +32,8 @@ def main(argv=None):
tool_source = get_tool_source(args.tool)
requirements, _ = tool_source.parse_requirements_and_containers()
targets = requirements_to_mulled_targets(requirements)
mull_targets(targets, **args_to_mull_targets_kwds(args))
kwds = args_to_mull_targets_kwds(args)
mull_targets(targets, *kwds)

This comment has been minimized.

Copy link
@bgruening

bgruening Jun 13, 2017

Member

is here a * missing.

This comment has been minimized.

Copy link
@jmchilton

jmchilton Jun 13, 2017

Author Member

Yes - that is odd that this worked.

This comment has been minimized.

Copy link
@jmchilton

jmchilton Jun 14, 2017

Author Member

Ahh - because I was testing the Galaxy entry point not the CLI.

Build mulled images for Singularity on demand...
... if a cached container for the tool in question cannot be found. This mirrors behavior for Docker and can be disabled by setting up a custom containers resolution file.

This should also enable easy testing of tools with Planemo using Singularity.

@jmchilton jmchilton force-pushed the jmchilton:singularity_mulled_build branch from d983248 to f7f28d6 Jun 14, 2017

@bgruening

This comment has been minimized.

Copy link
Member

commented Jun 14, 2017

Thanks! :)

@bgruening bgruening merged commit f58f372 into galaxyproject:dev Jun 14, 2017

5 checks passed

api test Build finished. 279 tests run, 0 skipped, 0 failed.
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
framework test Build finished. 150 tests run, 0 skipped, 0 failed.
Details
integration test Build finished. 34 tests run, 0 skipped, 0 failed.
Details
toolshed test Build finished. 579 tests run, 0 skipped, 0 failed.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.