Ben Sherman

Results 314 comments of Ben Sherman

It happens because the channel implementation (under the hood) has a `val` property which blocks until the channel value is available. But that won't happen until the script is executed,...

Related to #4917 -- I think I might refactor this PR into a more general solution that adds stricter checks to `ProcessConfig` for all process directives -- types, min/max values...

Added basic cache invalidation reporting to this PR. It requires the cache to also load the index file of the previous run, so that when a cache entry can't be...

I tested with Nextflow 23.04.2. The first example fails because `**/multiqc_report.html` isn't quoted. But the second example worked for me. As for the reports not showing up in Tower, that...

@pditommaso I finally figured out why I could never reproduce this error. It only happens with the all release: ``` July-05 17:59:21.139 [main] DEBUG nextflow.cli.Launcher - $> /stornext/System/data/tools/nextflow/nextflow-23.04.2/nextflow-23.04.2-all run main.nf...

Good point, it does not happen with 23.05.0-edge or 23.10.1. My guess is that it was fixed by this commit: 003e1f70

It turns out the docs are incorrect. They say that `ifEmpty` returns a value channel but actually it always returns a queue channel. I will review the operator return types...

I recommend that you explicitly combine the process inputs instead of relying on the implicit value channel behavior: ```groovy process test2 { input: tuple val(a), file(b) script: """ """ }...

It is because the abstract grid executor assumes the cluster options are provided as key-value pairs: https://github.com/nextflow-io/nextflow/blob/7c9d965e1d7b39ed58fb189d4649d8d57ed81fc0/modules/nextflow/src/main/groovy/nextflow/executor/AbstractGridExecutor.groovy#L95-L116 So you can probably make `clusterOptions` work by inserting a blank value after...

@pditommaso what if we allow clusterOptions to be a list of strings, then it becomes clear how to map the options to the directive lines: ```groovy clusterOptions = { [...