Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
## lifebit-ai/cloudos-cli: changelog

## v2.90.1 (2026-05-06)

### Patch

- Fixes `--array-parameter` for multiple occurrences

## v2.90.0 (2026-04-29)

### Feat
Expand Down
2 changes: 1 addition & 1 deletion cloudos_cli/_version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = '2.90.0'
__version__ = '2.90.1'
1 change: 1 addition & 0 deletions cloudos_cli/bash/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,7 @@ def run_bash_job(ctx,
is_flag=True)
@click.option('-a', '--array-parameter',
multiple=True,
required=True,
help=('A single parameter to pass to the job call only for specifying array columns. ' +
'It should be in the following form: parameter_name=array_file_column_name. E.g.: ' +
'-a --test=value or -a -test=value or -a test=value or -a =value (for no prefix). ' +
Expand Down
15 changes: 8 additions & 7 deletions cloudos_cli/jobs/job.py
Original file line number Diff line number Diff line change
Expand Up @@ -469,8 +469,8 @@ def convert_nextflow_to_json(self,

# array file specific parameters (from --array-parameter)
if array_parameter is not None and len(array_parameter) > 0:
ap_param = Job.split_array_file_params(array_parameter, workflow_type, array_file_header)
workflow_params.append(ap_param)
ap_params = Job.split_array_file_params(array_parameter, workflow_type, array_file_header)
workflow_params.extend(ap_params)
elif array_file_header is not None and (array_parameter is None or len(array_parameter) == 0):
raise ValueError('At least one array file column must be added to the parameters')

Expand Down Expand Up @@ -889,8 +889,8 @@ def split_array_file_params(array_parameter, workflow_type, array_file_header):

Returns
-------
dict
A dictionary containing processed parameter details, including:
list
A list of dictionaries, each containing processed parameter details, including:
- prefix (str): The prefix for the parameter (e.g., "--" or "-").
- name (str): The name of the parameter with leading dashes stripped.
- parameterKind (str): The kind of parameter, set to "arrayFileColumn".
Expand All @@ -902,7 +902,7 @@ def split_array_file_params(array_parameter, workflow_type, array_file_header):
ValueError
If an array parameter does not contain a '=' character or is improperly formatted.
"""
ap_param = dict()
ap_params = []
for ap in array_parameter:
ap_split = ap.split('=')
if len(ap_split) < 2:
Expand All @@ -917,10 +917,11 @@ def split_array_file_params(array_parameter, workflow_type, array_file_header):
"name": ap_name.lstrip('-'),
"parameterKind": "arrayFileColumn",
"columnName": ap_value,
"columnIndex": next((item["index"] for item in array_file_header if item["name"] == "id"), 0)
"columnIndex": next((item["index"] for item in array_file_header if item["name"] == ap_value), 0)
}
ap_params.append(ap_param)

return ap_param
return ap_params

def docker_workflow_param_processing(self, param, project_name):
"""
Expand Down
Loading