nf-core / tools

Python package with helper tools for the nf-core community.
https://nf-co.re
MIT License
232 stars 187 forks source link

Subworkflow install failure still results in a 0 exit code #3044

Open jvfe opened 2 months ago

jvfe commented 2 months ago

Description of the bug

When installing a subworkflow, if tools can't find a module within this subworkflow it raises an error message, but the error code returned at the end is still 0, making it seem like the command succeeded. This is done in order to not break the execution and install the most modules possible.

A solution suggested on the nf-core slack is to have a has_error variable that persists through the execution, so it still finishes installing the modules but returns a non-zero code at the end.

Command used and terminal output

nf-core create --name test --plain --description test --author test
cd nf-core-test
nf-core subworkflows --git-remote https://github.com/jvfe/test-subworkflow-remote install hic_bwamem2
# ERROR    Module 'samtools/merge' not found in list of available modules.
echo $?

System information

No response

ewels commented 1 week ago

Is this a duplicate of https://github.com/nf-core/tools/issues/2928 ?

jvfe commented 1 week ago

Is this a duplicate of #2928 ?

While similar, I don't think they mention the exact same thing. The issue there seems to be related to the name of the subworkflow (slashes vs underscores). Here the issue I'm trying to point to is the exit code of the install process, which seems to imply a success even though the subworkflow wasn't fully installed.