2929
3030
3131def run_linting (
32- pipeline_dir , release_mode = False , fix = (), key = (), show_passed = False , fail_ignored = False , md_fn = None , json_fn = None
32+ pipeline_dir ,
33+ release_mode = False ,
34+ fix = (),
35+ key = (),
36+ show_passed = False ,
37+ fail_ignored = False ,
38+ fail_warned = False ,
39+ md_fn = None ,
40+ json_fn = None ,
3341):
3442 """Runs all nf-core linting checks on a given Nextflow pipeline project
3543 in either `release` mode or `normal` mode (default). Returns an object
@@ -62,7 +70,7 @@ def run_linting(
6270 # Create the lint object
6371 pipeline_keys = list (set (key ).intersection (set (PipelineLint ._get_all_lint_tests (release_mode )))) if key else []
6472
65- lint_obj = PipelineLint (pipeline_dir , release_mode , fix , pipeline_keys , fail_ignored )
73+ lint_obj = PipelineLint (pipeline_dir , release_mode , fix , pipeline_keys , fail_ignored , fail_warned )
6674
6775 # Load the various pipeline configs
6876 lint_obj ._load_lint_config ()
@@ -167,7 +175,7 @@ class PipelineLint(nf_core.utils.Pipeline):
167175 from .template_strings import template_strings
168176 from .version_consistency import version_consistency
169177
170- def __init__ (self , wf_path , release_mode = False , fix = (), key = (), fail_ignored = False ):
178+ def __init__ (self , wf_path , release_mode = False , fix = (), key = (), fail_ignored = False , fail_warned = False ):
171179 """Initialise linting object"""
172180
173181 # Initialise the parent object
@@ -179,6 +187,7 @@ def __init__(self, wf_path, release_mode=False, fix=(), key=(), fail_ignored=Fal
179187 self .lint_config = {}
180188 self .release_mode = release_mode
181189 self .fail_ignored = fail_ignored
190+ self .fail_warned = fail_warned
182191 self .failed = []
183192 self .ignored = []
184193 self .fixed = []
@@ -314,7 +323,10 @@ def _lint_pipeline(self):
314323 for test in test_results .get ("fixed" , []):
315324 self .fixed .append ((test_name , test ))
316325 for test in test_results .get ("warned" , []):
317- self .warned .append ((test_name , test ))
326+ if self .fail_warned :
327+ self .failed .append ((test_name , test ))
328+ else :
329+ self .warned .append ((test_name , test ))
318330 for test in test_results .get ("failed" , []):
319331 self .failed .append ((test_name , test ))
320332 if test_results .get ("could_fix" , False ):
0 commit comments