Skip to content

Conversation

@ewels
Copy link
Member

@ewels ewels commented Jan 20, 2026

Fixes #6734

The nextflow inspect command was returning containers defined in process source files instead of the overridden values from profile configuration files (e.g., withName selectors).

Root cause: In ProcessDef.createTaskProcessor(), the condition if( !processConfig ) was meant to call initialize() if config wasn't set:

TaskProcessor createTaskProcessor() {
if( !processConfig )
initialize()

But processConfig is always non-empty (initialized with DEFAULT_CONFIG values in the constructor), so initialize() was never called through this code path.

The initialize() method is responsible for applying config file settings (withName/withLabel` selectors) to the process config, including container overrides.

Fix:

  • Add an initialized flag to track whether config has been applied
  • Make initialize() idempotent by checking the flag
  • Always call initialize() in createTaskProcessor() (safe due to idempotency)
  • Reset initialized flag in clone() so cloned processes can be re-initialized

This ensures that when ContainersInspector calls createTaskProcessor() to create task previews, the config file settings are properly applied first.

…extflow-io#6734)

The `nextflow inspect` command was returning containers defined in process
source files instead of the overridden values from profile configuration
files (e.g., withName selectors).

Root cause: In ProcessDef.createTaskProcessor(), the condition
`if( !processConfig )` was meant to call initialize() if config wasn't set,
but processConfig is always non-empty (initialized with DEFAULT_CONFIG values
in the constructor), so initialize() was never called through this code path.

The initialize() method is responsible for applying config file settings
(withName/withLabel selectors) to the process config, including container
overrides.

Fix:
- Add an `initialized` flag to track whether config has been applied
- Make initialize() idempotent by checking the flag
- Always call initialize() in createTaskProcessor() (safe due to idempotency)
- Reset initialized flag in clone() so cloned processes can be re-initialized

This ensures that when ContainersInspector calls createTaskProcessor() to
create task previews, the config file settings are properly applied first.

Signed-off-by: Claude <noreply@anthropic.com>
@ewels ewels requested a review from jorgee January 20, 2026 10:50
@netlify
Copy link

netlify bot commented Jan 20, 2026

Deploy Preview for nextflow-docs-staging canceled.

Name Link
🔨 Latest commit 2ff2198
🔍 Latest deploy log https://app.netlify.com/projects/nextflow-docs-staging/deploys/696f9895564407000863e7e3

Signed-off-by: Ben Sherman <bentshermann@gmail.com>
@bentsherman bentsherman merged commit c13f444 into nextflow-io:master Jan 20, 2026
25 checks passed
@ewels ewels deleted the claude/investigate-nextflow-6734-kQ8Kg branch January 20, 2026 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

nextflow inspect doesn't resolve included container configs correctly

4 participants