-
Notifications
You must be signed in to change notification settings - Fork 629
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
Module config #4510
Module config #4510
Conversation
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
✅ Deploy Preview for nextflow-docs-staging canceled.
|
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
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.
shall we have unit tests about the composition of configs from multiple sources (ideally, process, module and workflow) ?
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.
@bentsherman for your consideration
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.
unit tests for edits in ExecutionStack ?
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.
@bentsherman for your consideration
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.
new unit tests required for IncludeDef?
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.
new unit tests required for ScriptMeta?
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.
@bentsherman for your consideration
Removed from edge November milestone, to allow time for team discussion |
@pditommaso @bentsherman Ran out of capacity to finalise some testing and articulate my thoughts on this one. The general lines is that I am not entirely bought on the proposed syntax. Keen to resume on this in the new year, however if you two are confident on the way forward, I do not want to be the blocker. |
OK, had a good review of the PR today, from the point of view of the design, also having a look at the Rnaseq POC. I like a lot how a simple design change, i.e. having the module/subwf specific config files, can make such a big impact, i.e. enabling to modularise these configuration entries for improved readability, maintainability, reusability. One thing I reflected on was Paolo's point on the fragility coming from process selector typos. I had a conversation with @bentsherman around this, and he mentioned the existence of a parameter, I believe In summary, I thing the design of this PR, beside matching most original requirements in #4422, provides at least 2 additional advantages:
@pditommaso , further comments on the design of this functionality? I will go ahead tomorrow and review documentation and implementation. [edit] PS: here I am assuming that we can decouple andd postpone tackling a more declarative approach to config, in reference to one of Paolo's initial points in #4422 . Happy to discuss further. |
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 @bentsherman ,
I have finished reviewing, see my outstanding comments from my previous review (docs and tests), plus the new ones on the docs
#4416 to be also merged as part of this unit of work |
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
Now that we're converging on a solution for the workflow publish definition, I'm having second thoughts about this module config idea. The module config further complicates the rules for config resolution, and at this point it would only be used to define I think we should discourage the use of Moving The big picture that I'm beginning to see is, there are many language features which were fine in DSL1 when everything was in a single script, but become troublesome in DSL2 with modules and subworkflows:
Another way to look at it is, if you consider the list of process directives, they all affect how tasks are executed (executor, hardware resources, software deps, error handling, etc), as opposed to what is executed (inputs, outputs, script). With two notable exceptions:
So if process directives are used to control how a process is executed, and the how is usually specific to a pipeline-level config profile, then there is no need for module config because modules typically do not describe how they are executed, or when they do, such as |
Completely agree. We should consider deprecating |
Okay, then I will close this PR. There are some general docs improvements here about the config resolution, I will make a separate PR for those |
Close #4422