diff --git a/platform-cloud/docs/launch/advanced.md b/platform-cloud/docs/launch/advanced.md index 4fe1c8854..09798cae4 100644 --- a/platform-cloud/docs/launch/advanced.md +++ b/platform-cloud/docs/launch/advanced.md @@ -160,12 +160,20 @@ The v2 parser implements Nextflow's [strict syntax](https://nextflow.io/docs/lat The toggle only selects the parser. It does not change the Nextflow runtime version, the pipeline source, or any pipeline parameters. -The v2 parser becomes the default in Nextflow 26.04: +The toggle does not track Nextflow's own parser default. Nextflow defaults to the v2 parser from version 26.04, and from 26.01.1-edge on the edge release channel, but only when `NXF_SYNTAX_PARSER` is unset. Platform always sets it. With the toggle off, Platform exports `NXF_SYNTAX_PARSER=v1` for every Nextflow version. On stable releases up to 25.10, where v1 is also the runtime default, the off position matches Nextflow's own behavior. To run a pipeline with the v2 parser on any Nextflow version, turn the toggle on. -- **Before Nextflow 26.04**: v1 is the runtime default. Turn the toggle on to opt in to v2. -- **From Nextflow 26.04**: v2 is the runtime default. Turn the toggle off to pin a pipeline to v1. +:::warning +On Nextflow 26.04 and later, a pipeline that uses v2-only syntax fails to compile unless this toggle is on. The Nextflow version alone does not select the v2 parser, even when the run log reports Nextflow 26.04 or later. The failure is a Groovy compilation error that does not mention the parser. To confirm which parser ran, look for `Using script parser v2` in the run's Nextflow log file, `nf-.log`. The line is absent when the v1 parser runs. +::: + +The toggle is not the only route that sets the parser. The following routes set it, in increasing order of precedence: + +- The pipeline's toggle. +- The launch form's toggle, pre-filled from the pipeline's toggle. +- An `NXF_SYNTAX_PARSER` environment variable defined on the compute environment with a target that includes the head job. +- A [pre-run script](#pre-and-post-run-scripts) that exports `NXF_SYNTAX_PARSER`. -A [pre-run script](#pre-and-post-run-scripts) that exports `NXF_SYNTAX_PARSER` overrides this toggle. +Platform exports the toggle value before it applies the compute environment variables and the pre-run script. Either source can overwrite the value the toggle sets. Neither source is visible in the launch form, and the toggle continues to display its own setting when one of them selects the parser. :::note The launch form inherits this setting from the pipeline. You can override it per launch without changing the stored value. Changing the toggle on the pipeline edit form creates a new pipeline version. diff --git a/platform-cloud/docs/troubleshooting_and_faqs/nextflow.md b/platform-cloud/docs/troubleshooting_and_faqs/nextflow.md index 70ab38911..da3ace317 100644 --- a/platform-cloud/docs/troubleshooting_and_faqs/nextflow.md +++ b/platform-cloud/docs/troubleshooting_and_faqs/nextflow.md @@ -232,16 +232,18 @@ Because the default for Spot retries is now zero, you must enable a retry strate Up to version 25.10, Nextflow uses the v1 syntax parser (also known as the legacy parser) by default. The v2 parser introduces stricter validation and is available as an opt-in through `NXF_SYNTAX_PARSER=v2`. -From version 26.04, Nextflow uses the v2 syntax parser by default. Pipelines that run without modification under the v1 parser can fail under v2. +From version 26.04, and from 26.01.1-edge on the edge release channel, Nextflow uses the v2 syntax parser by default. Pipelines that run without modification under the v1 parser can fail under v2. + +In Platform, the supported way to select the parser is the [**Enable Nextflow syntax parser v2**](../launch/advanced#enable-nextflow-syntax-parser-v2) launch toggle, not a pre-run script. The toggle does not track Nextflow's version-based default. With the toggle off, Platform exports `NXF_SYNTAX_PARSER=v1` regardless of the Nextflow version. #### Pin the v1 parser -To run existing pipelines unchanged under Nextflow 26, set `NXF_SYNTAX_PARSER` to `v1` in a [pre-run script](../launch/advanced#pre-and-post-run-scripts): +To run existing pipelines unchanged under Nextflow 26.04 and later, leave the launch toggle off. + +A [pre-run script](../launch/advanced#pre-and-post-run-scripts) that exports `NXF_SYNTAX_PARSER` takes precedence over the toggle. For example, the following pins the v1 parser even when the toggle is on: ```bash export NXF_SYNTAX_PARSER=v1 ``` -This restores the legacy parser behavior. - For migration guidance to the v2 parser, see [Preparing for strict syntax](https://docs.seqera.io/nextflow/strict-syntax). diff --git a/platform-enterprise_docs/launch/advanced.md b/platform-enterprise_docs/launch/advanced.md index ec281e310..c30aa0572 100644 --- a/platform-enterprise_docs/launch/advanced.md +++ b/platform-enterprise_docs/launch/advanced.md @@ -166,12 +166,20 @@ The v2 parser implements Nextflow's [strict syntax](https://nextflow.io/docs/lat The toggle only selects the parser. It does not change the Nextflow runtime version, the pipeline source, or any pipeline parameters. -The v2 parser becomes the default in Nextflow 26.04: +The toggle does not track Nextflow's own parser default. Nextflow defaults to the v2 parser from version 26.04, and from 26.01.1-edge on the edge release channel, but only when `NXF_SYNTAX_PARSER` is unset. Platform always sets it. With the toggle off, Platform exports `NXF_SYNTAX_PARSER=v1` for every Nextflow version. On stable releases up to 25.10, where v1 is also the runtime default, the off position matches Nextflow's own behavior. To run a pipeline with the v2 parser on any Nextflow version, turn the toggle on. -- **Before Nextflow 26.04**: v1 is the runtime default. Turn the toggle on to opt in to v2. -- **From Nextflow 26.04**: v2 is the runtime default. Turn the toggle off to pin a pipeline to v1. +:::warning +On Nextflow 26.04 and later, a pipeline that uses v2-only syntax fails to compile unless this toggle is on. The Nextflow version alone does not select the v2 parser, even when the run log reports Nextflow 26.04 or later. The failure is a Groovy compilation error that does not mention the parser. To confirm which parser ran, look for `Using script parser v2` in the run's Nextflow log file, `nf-.log`. The line is absent when the v1 parser runs. +::: + +The toggle is not the only route that sets the parser. The following routes set it, in increasing order of precedence: + +- The pipeline's toggle. +- The launch form's toggle, pre-filled from the pipeline's toggle. +- An `NXF_SYNTAX_PARSER` environment variable defined on the compute environment with a target that includes the head job. +- A [pre-run script](#pre-and-post-run-scripts) that exports `NXF_SYNTAX_PARSER`. -A [pre-run script](#pre-and-post-run-scripts) that exports `NXF_SYNTAX_PARSER` overrides this toggle. +Platform exports the toggle value before it applies the compute environment variables and the pre-run script. Either source can overwrite the value the toggle sets. Neither source is visible in the launch form, and the toggle continues to display its own setting when one of them selects the parser. :::note The launch form inherits this setting from the pipeline. You can override it per launch without changing the stored value. Changing the toggle on the pipeline edit form creates a new pipeline version. diff --git a/platform-enterprise_docs/troubleshooting_and_faqs/nextflow.md b/platform-enterprise_docs/troubleshooting_and_faqs/nextflow.md index 37335defc..c2af132ff 100644 --- a/platform-enterprise_docs/troubleshooting_and_faqs/nextflow.md +++ b/platform-enterprise_docs/troubleshooting_and_faqs/nextflow.md @@ -250,16 +250,18 @@ This issue is resolved in Platform v26.2, which creates pipeline secrets with us Up to version 25.10, Nextflow uses the v1 syntax parser (also known as the legacy parser) by default. The v2 parser introduces stricter validation and is available as an opt-in through `NXF_SYNTAX_PARSER=v2`. -From version 26.04, Nextflow uses the v2 syntax parser by default. Pipelines that run without modification under the v1 parser can fail under v2. +From version 26.04, and from 26.01.1-edge on the edge release channel, Nextflow uses the v2 syntax parser by default. Pipelines that run without modification under the v1 parser can fail under v2. + +In Platform, the supported way to select the parser is the [**Enable Nextflow syntax parser v2**](../launch/advanced#enable-nextflow-syntax-parser-v2) launch toggle, not a pre-run script. The toggle does not track Nextflow's version-based default. With the toggle off, Platform exports `NXF_SYNTAX_PARSER=v1` regardless of the Nextflow version. #### Pin the v1 parser -To run existing pipelines unchanged under Nextflow 26, set `NXF_SYNTAX_PARSER` to `v1` in a [pre-run script](../launch/advanced#pre-and-post-run-scripts): +To run existing pipelines unchanged under Nextflow 26.04 and later, leave the launch toggle off. + +A [pre-run script](../launch/advanced#pre-and-post-run-scripts) that exports `NXF_SYNTAX_PARSER` takes precedence over the toggle. For example, the following pins the v1 parser even when the toggle is on: ```bash export NXF_SYNTAX_PARSER=v1 ``` -This restores the legacy parser behavior. - For migration guidance to the v2 parser, see [Preparing for strict syntax](https://docs.seqera.io/nextflow/strict-syntax). diff --git a/platform-enterprise_versioned_docs/version-26.1/launch/advanced.md b/platform-enterprise_versioned_docs/version-26.1/launch/advanced.md index 22114dd6c..06c0a3f4b 100644 --- a/platform-enterprise_versioned_docs/version-26.1/launch/advanced.md +++ b/platform-enterprise_versioned_docs/version-26.1/launch/advanced.md @@ -151,12 +151,20 @@ The v2 parser implements Nextflow's [strict syntax](https://nextflow.io/docs/lat The toggle only selects the parser. It does not change the Nextflow runtime version, the pipeline source, or any pipeline parameters. -The v2 parser becomes the default in Nextflow 26.04: +The toggle does not track Nextflow's own parser default. Nextflow defaults to the v2 parser from version 26.04, and from 26.01.1-edge on the edge release channel, but only when `NXF_SYNTAX_PARSER` is unset. Platform always sets it. With the toggle off, Platform exports `NXF_SYNTAX_PARSER=v1` for every Nextflow version. On stable releases up to 25.10, where v1 is also the runtime default, the off position matches Nextflow's own behavior. To run a pipeline with the v2 parser on any Nextflow version, turn the toggle on. -- **Before Nextflow 26.04**: v1 is the runtime default. Turn the toggle on to opt in to v2. -- **From Nextflow 26.04**: v2 is the runtime default. Turn the toggle off to pin a pipeline to v1. +:::warning +On Nextflow 26.04 and later, a pipeline that uses v2-only syntax fails to compile unless this toggle is on. The Nextflow version alone does not select the v2 parser, even when the run log reports Nextflow 26.04 or later. The failure is a Groovy compilation error that does not mention the parser. To confirm which parser ran, look for `Using script parser v2` in the run's Nextflow log file, `nf-.log`. The line is absent when the v1 parser runs. +::: + +The toggle is not the only route that sets the parser. The following routes set it, in increasing order of precedence: + +- The pipeline's toggle. +- The launch form's toggle, pre-filled from the pipeline's toggle. +- An `NXF_SYNTAX_PARSER` environment variable defined on the compute environment with a target that includes the head job. +- A [pre-run script](#pre-and-post-run-scripts) that exports `NXF_SYNTAX_PARSER`. -A [pre-run script](#pre-and-post-run-scripts) that exports `NXF_SYNTAX_PARSER` overrides this toggle. +Platform exports the toggle value before it applies the compute environment variables and the pre-run script. Either source can overwrite the value the toggle sets. Neither source is visible in the launch form, and the toggle continues to display its own setting when one of them selects the parser. :::note The launch form inherits this setting from the pipeline. You can override it per launch without changing the stored value. Changing the toggle on the pipeline edit form creates a new pipeline version. diff --git a/platform-enterprise_versioned_docs/version-26.1/troubleshooting_and_faqs/nextflow.md b/platform-enterprise_versioned_docs/version-26.1/troubleshooting_and_faqs/nextflow.md index 0623e0044..84ed4c1a0 100644 --- a/platform-enterprise_versioned_docs/version-26.1/troubleshooting_and_faqs/nextflow.md +++ b/platform-enterprise_versioned_docs/version-26.1/troubleshooting_and_faqs/nextflow.md @@ -244,16 +244,18 @@ This issue occurs because Seqera Platform creates pipeline secrets in Google Sec Up to version 25.10, Nextflow uses the v1 syntax parser (also known as the legacy parser) by default. The v2 parser introduces stricter validation and is available as an opt-in via `NXF_SYNTAX_PARSER=v2`. -From version 26.04, Nextflow uses the v2 syntax parser by default. Pipelines that run without modification under the v1 parser may fail under v2. +From version 26.04, and from 26.01.1-edge on the edge release channel, Nextflow uses the v2 syntax parser by default. Pipelines that run without modification under the v1 parser may fail under v2. + +In Platform, the supported way to select the parser is the [**Enable Nextflow syntax parser v2**](../launch/advanced#enable-nextflow-syntax-parser-v2) launch toggle, not a pre-run script. The toggle does not track Nextflow's version-based default. With the toggle off, Platform exports `NXF_SYNTAX_PARSER=v1` regardless of the Nextflow version. **Pin the v1 parser** -To run existing pipelines unchanged under Nextflow 26, set `NXF_SYNTAX_PARSER` to `v1` in a [pre-run script](../launch/advanced#pre-and-post-run-scripts): +To run existing pipelines unchanged under Nextflow 26.04 and later, leave the launch toggle off. + +A [pre-run script](../launch/advanced#pre-and-post-run-scripts) that exports `NXF_SYNTAX_PARSER` takes precedence over the toggle. For example, the following pins the v1 parser even when the toggle is on: ``` export NXF_SYNTAX_PARSER=v1 ``` -This restores the legacy parser behavior. - For migration guidance to the v2 parser, see [Preparing for strict syntax](https://docs.seqera.io/nextflow/strict-syntax).