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
feat(core): add workflow execute subcommand #2273
Conversation
da4f321
to
b21264c
Compare
82739c3
to
36bdb1d
Compare
4db047d
to
9eef65c
Compare
f5f4b06
to
0b63e15
Compare
dcc6570
to
0b46f54
Compare
@Panaetius ready for (re)review. thanks! |
You should enjoy your vacation 😉 Don't worry, we can take care of this PR while you're gone. And thanks for the changes |
34d6f02
to
d2d7feb
Compare
64d7714
to
c4e7d92
Compare
renku/core/commands/update.py
Outdated
@@ -143,7 +146,9 @@ def execute_workflow( | |||
|
|||
started_at_time = local_now() | |||
|
|||
modified_outputs = _execute_workflow_helper(plans=plans, client=client) | |||
# NOTE: Create a ``CompositePlan`` because ``workflow_covert`` expects it | |||
workflow = CompositePlan(id=CompositePlan.generate_id(), plans=plans, name=f"plan-collection-{uuid.uuid4().hex}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i dont like this as there's a CompositePlan
-> List[Plan]
-> CompositePlan
cycle going on here. but for the sake of having the execute feature in master i'd merge this and the toil PR in the meanwhile i'll finish the refactor of handling list of plans in the workflow execute/converter plugins
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Me and Mohammad discussed this in the past, and it is unfortunate but a bit of a necessary feature to allow the same executor to be used with workflow execute
, rerun
and update
. In the rerun and update case, there is only a list of plans as the source, not a CompositePlan, and we didn't want to modify execute_workflow
as you're still working on that part.
But we should consider not building a CompositePlan in the execute_workflow
method as it's not really needed.
c4e7d92
to
b453f3c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Viktor! This looks very good. I've made a few comments; feel free to address them in a coming refactoring PR if you are doing one atm.
|
||
return jsonld.read_yaml(file) | ||
except Exception as e: | ||
raise errors.ParameterError(e) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's probably good to write a message here to say that something was wrong with the values
file.
"-s", | ||
"--set", | ||
multiple=True, | ||
metavar="<parameter>=<value>", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does this work with CompositePlanValueResolver
? In there we look for a parameters
or a steps
keys. It's also probably good to add a test which uses this flag.
make sure that cwl export uses the actual_value of a parameter
refactor workflow_execute plugin interface
Co-authored-by: Ralf Grubenmann <ralf.grubenmann@sdsc.ethz.ch>
transform exception from jsonld.read_yaml to RenkuException
this class does a values resolution for a given AbstractPlan using user supplied values as well as holds information regarding none effective settings.
Co-authored-by: Ralf Grubenmann <ralf.grubenmann@sdsc.ethz.ch>
add documentation for cwltool provider implementation
b453f3c
to
846a7de
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
Description
Fixes #2130
this PR only includes the following features:
workflow execute
based on the specscwltool
based workflow provideractual_value
property instead ofdefault_value
this way user-defined parameter overrides will be reflected in the exported cwl file