Support record type input with dot-notation CLI params#7170
Merged
bentsherman merged 3 commits intoJun 16, 2026
Conversation
✅ Deploy Preview for nextflow-docs-staging ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Signed-off-by: Ben Sherman <[email protected]>
Signed-off-by: Ben Sherman <[email protected]>
8c68ff5 to
fc3e958
Compare
bentsherman
approved these changes
Jun 16, 2026
Member
|
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.
Summary
Map/ConfigMapvalues to the declaredRecordsubclass when resolving CLI dot-notation parametersparamsentry or a process input is typed as a customRecord(e.g.Sample) and supplied via dot notationmodule run#7164, which fixed the same scenario for destructured tuple-record inputsProblem
Given a module
test/recordswith a typed record input:and a workflow
module.nfas the following:Running with dot-notation CLI parameters fails:
nextflow run module.nf --sample.id a --sample.greeting holaThe
paramsDSL converts the nested map into aRecordMap(viaTypeHelper.asType) but the subsequent assignability check rejects it.nextflow module run test/records --sample.id a --sample.greeting holaThe process entry handler passes the nested
ConfigMapstraight through without converting it to the declaredRecordtype.PR #7164 fixed the equivalent case for destructured tuple-record inputs; this PR extends the fix to named record inputs.
Changes
ParamsDsl.isAssignableFromtreatsRecordMapas assignable to anyRecordsubclass.ProcessEntryHandler.getValueForInputV2converts aMapvalue into the declared record type viaTypeHelper.asRecordTypewhen the input type is aRecord.Test plan
ParamsDslTest— record param resolved from a nested mapProcessEntryHandlerTest— dot-notation params for named record inputProcessEntryHandlerTest—ConfigMapvalue for named record input (module runpath)nextflow run module.nf --sample.id a --sample.greeting holanextflow module run <module> --sample.id a --sample.greeting hola