Summary
The ghcr.io/nextflow-io/training:latest container image ships nf-test 0.9.2, which is incompatible with Nextflow 26.04's
now-default strict (v2) syntax parser. This breaks the process-level testing section of the nf_test side quest (and any
process-level nf-test usage generally) for anyone using the current recommended training environment.
Reproduction
- In the training container (Nextflow 26.04.4, nf-test 0.9.2), from side-quests/nf-test:
nf-test init
nf-test generate process main.nf
nf-test test tests/main.sayhello.nf.test
- Expected (per the docs): fails with Process 'sayHello' declares 1 input but was called with 0 arguments
- Actual: fails with a script compilation error instead — Unexpected input: '*' on the generated line sayHello(*input)
Root cause
nf-test 0.9.2's generated process-test harness uses Groovy spread-operator syntax (sayHello(*input)), which the v2 parser
rejects. This is Nextflow 26.04's default now, not something that needs to be opted into. Every process-level nf-test is
affected, not just this specific failure demo — even the corrected test (with a real input provided) fails the same way,
since the harness script itself is regenerated with the incompatible syntax regardless of test content.
Fix confirmed
Upgrading to nf-test 0.9.5 resolves it completely — verified the entire nf_test side quest runs end-to-end exactly as
documented (4/4 tests passing) after upgrading via curl -fsSL https://code.askimed.com/install/nf-test | bash.
Suggested fix
Bump the nf-test version pinned/installed in the training container image build to 0.9.3+ (0.9.5 confirmed working).
Affected docs
docs/en/docs/side_quests/nf_test/index.md — section 2 (process-level testing) is unusable with the container's current
nf-test version. A note flagging this version requirement has been added to the lesson's prerequisites in the meantime.
Summary
The ghcr.io/nextflow-io/training:latest container image ships nf-test 0.9.2, which is incompatible with Nextflow 26.04's
now-default strict (v2) syntax parser. This breaks the process-level testing section of the nf_test side quest (and any
process-level nf-test usage generally) for anyone using the current recommended training environment.
Reproduction
nf-test init
nf-test generate process main.nf
nf-test test tests/main.sayhello.nf.test
Root cause
nf-test 0.9.2's generated process-test harness uses Groovy spread-operator syntax (sayHello(*input)), which the v2 parser
rejects. This is Nextflow 26.04's default now, not something that needs to be opted into. Every process-level nf-test is
affected, not just this specific failure demo — even the corrected test (with a real input provided) fails the same way,
since the harness script itself is regenerated with the incompatible syntax regardless of test content.
Fix confirmed
Upgrading to nf-test 0.9.5 resolves it completely — verified the entire nf_test side quest runs end-to-end exactly as
documented (4/4 tests passing) after upgrading via curl -fsSL https://code.askimed.com/install/nf-test | bash.
Suggested fix
Bump the nf-test version pinned/installed in the training container image build to 0.9.3+ (0.9.5 confirmed working).
Affected docs
docs/en/docs/side_quests/nf_test/index.md — section 2 (process-level testing) is unusable with the container's current
nf-test version. A note flagging this version requirement has been added to the lesson's prerequisites in the meantime.