Open CormacKinsella opened 1 week ago
Good point, the eval script was never added to the task hash
@jorgee this one should be pretty easy if you'd like to try. Basically we need to add the eval outputs to the task hash here:
Something like this:
// add inputs ...
// ...
// add eval outputs
for( Map.Entry<OutParam,Object> it : task.outputs ) {
if( it.key instanceof CmdEvalParam )
keys.add( it.key.getTarget(task.context) )
}
Bug report
Expected behavior and actual behavior
Expected: editing an eval script (e.g. from
multiqc --version
tomultiqc --version | sed "s/version//"
) will be picked up as an edit and therefore a cached version won't be used.Actual behaviour: it works correctly if
resume = true
is stated within the main workflow script. However if-resume
is provided on command line, orresume = true
is given in nextflow.config, then the cached version is used after a change to theeval
scriptSteps to reproduce the problem
Program output
Before edit: [FOO, multiqc, version 1.14]
After edit: [FOO, multiqc, version 1.14]
Should be: [FOO, multiqc, 1.14] # Note that this behaviour is achieved by moving
resume = true
fromnextflow.config
tomain.nf
Environment
Additional context