Nextflow: Add nextflow required version in the config manifest

Created on 19 Jun 2018  Â·  11Comments  Â·  Source: nextflow-io/nextflow

A field specifying the minimum nextflow required version should be added in the config file manifest section.

This will allow the implementation of an automatic check when a workflow is expected to verify that the expected nextflow runtime is being used.

help wanted kinenhancement prlow

Most helpful comment

Refactoring after refactoring current implementation allows the following:

manifest {
   nextflowVersion = '1.2.3'    // exact match
   nextflowVersion = '1.2+'     // 1.2 or later (excluding 2 and later) 
   nextflowVersion = '>=1.2'    // 1.2 or later    
   nextflowVersion = '>=1.2, <=1.5'    // any version in the 1.2 .. 1.5 range  
}

All 11 comments

That would be really nice :-)

yeah, that would prevent to have this .. ;)

@apeltzer @KevinSayers @ewels How does it looks?

manifest {
   requiredNextflowVersion = '1.2.3'
}

too verbose ?

Looks brilliant! :tada:

Should it show a warning or stop the execution ?

Looks good to me! As it says ‘required’ I would say stop execution.

Umm, thinking to renamed it as

manifest {
   nextflowVersion = '1.2.3'
}

Maybe minNextflowVersion? I think it’s good to indicate that it’s a lower bound only..

I think both a min version and an exact version would be useful. Exact could be helpful if you want to lock in a version for reproducibility.

Refactoring after refactoring current implementation allows the following:

manifest {
   nextflowVersion = '1.2.3'    // exact match
   nextflowVersion = '1.2+'     // 1.2 or later (excluding 2 and later) 
   nextflowVersion = '>=1.2'    // 1.2 or later    
   nextflowVersion = '>=1.2, <=1.5'    // any version in the 1.2 .. 1.5 range  
}

OK, another iteration as above with a little addition, the version requirement string can be prefixed with a ! character to stop the execution in the case the version specified does not match
with the current runtime one. For example:

manifest {
  nextflowVersion = '!>=1.2'
}
Was this page helpful?
0 / 5 - 0 ratings