From fe4beca78630350fe86dff3f625e767f0ffd9cfd Mon Sep 17 00:00:00 2001 From: Llewellyn vd Berg <113503285+llewellyn-sl@users.noreply.github.com> Date: Fri, 12 Dec 2025 13:18:25 +0200 Subject: [PATCH 1/8] Pipeline versioning public preview --- platform-cloud/cloud-sidebar.json | 1 + platform-cloud/docs/pipelines/versioning.md | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/platform-cloud/cloud-sidebar.json b/platform-cloud/cloud-sidebar.json index 018dcaaca..74a6d1b0c 100644 --- a/platform-cloud/cloud-sidebar.json +++ b/platform-cloud/cloud-sidebar.json @@ -107,6 +107,7 @@ "items": [ "pipelines/overview", "pipeline-schema/overview", + "pipelines/versioning", "pipelines/revision", "launch/launchpad", "labels/overview", diff --git a/platform-cloud/docs/pipelines/versioning.md b/platform-cloud/docs/pipelines/versioning.md index 70a4b096d..5f6e933ab 100644 --- a/platform-cloud/docs/pipelines/versioning.md +++ b/platform-cloud/docs/pipelines/versioning.md @@ -1,12 +1,12 @@ --- -title: "Pipeline versioning" +title: "Pipeline versioning (preview)" description: "Introduction to pipeline versioning in Seqera Platform." date created: "2025-11-14" tags: [pipelines, versioning, nextflow, parameters] --- :::info -Pipeline versioning is a preview feature in active development. [Contact Seqera support](https://support.seqera.io/) to enable this feature in your organization workspaces. +Pipeline versioning is a preview feature. [Contact Seqera support](https://support.seqera.io/) to enable this feature in your organization workspaces. ::: Seqera's pipeline versioning system captures configuration changes as new draft versions of the pipeline, ensuring configuration traceability and execution reproducibility. Users with appropriate permissions can edit and publish draft versions, creating published versions that teams can reference and launch consistently. From 2cbbf8cd2f0d97dc2bf96e3471e9fa292fe01fdf Mon Sep 17 00:00:00 2001 From: Llewellyn vd Berg <113503285+llewellyn-sl@users.noreply.github.com> Date: Wed, 28 Jan 2026 12:38:09 +0200 Subject: [PATCH 2/8] Update pipeline versioning docs for GA release Updates pipeline versioning documentation with GA release features: - Add nested parameter support for track_changes at leaf node level - Update terminology from "checksum" to "hash" throughout - Add versionName and versionHash search keywords - Document shared pipeline publishing restrictions - Add pipeline optimization integration section Related to PLAT-4471 (Versioning GA QA Testing) - PLAT-3576: Version search with additional keywords - PLAT-4051: Version hash terminology update - PLAT-3877: Nested schema property support - PLAT-3501: Pipeline optimization integration - PLAT-4090: Shared pipeline publishing behavior Co-Authored-By: Claude Sonnet 4.5 --- platform-cloud/docs/pipelines/versioning.md | 48 ++++++++++++++----- .../version-25.3/pipelines/versioning.md | 40 +++++++++++++--- 2 files changed, 70 insertions(+), 18 deletions(-) diff --git a/platform-cloud/docs/pipelines/versioning.md b/platform-cloud/docs/pipelines/versioning.md index 5f6e933ab..3714b33f5 100644 --- a/platform-cloud/docs/pipelines/versioning.md +++ b/platform-cloud/docs/pipelines/versioning.md @@ -5,8 +5,8 @@ date created: "2025-11-14" tags: [pipelines, versioning, nextflow, parameters] --- -:::info -Pipeline versioning is a preview feature. [Contact Seqera support](https://support.seqera.io/) to enable this feature in your organization workspaces. +:::info +Pipeline versioning is a preview feature. [Contact Seqera support](https://support.seqera.io/) to enable this feature in your organization workspaces. ::: Seqera's pipeline versioning system captures configuration changes as new draft versions of the pipeline, ensuring configuration traceability and execution reproducibility. Users with appropriate permissions can edit and publish draft versions, creating published versions that teams can reference and launch consistently. @@ -23,6 +23,19 @@ New draft versions are automatically generated when you modify the following: "track_changes": false } ``` + + For nested parameters, `track_changes` is supported at the leaf node level: + ```json + "nestedParam": { + "type": "object", + "properties": { + "leafParam": { + "type": "string", + "track_changes": false + } + } + } + ``` ::: - Fields in the pipeline **Edit** form, excluding: - **Name** @@ -32,7 +45,7 @@ New draft versions are automatically generated when you modify the following: Published versions provide a stable reference for team-wide pipeline launches. Users with Maintain or higher permissions can publish a draft version, giving it a name and optionally setting it as the default version. This makes important configurations easy to identify, share, and promote across your team. -:::info +:::info A pipeline's default version is shown in the Launchpad and automatically selected during launch. ::: @@ -44,11 +57,14 @@ Seqera maintains a history of all draft and published versions, providing an aud Select a pipeline from the workspace Launchpad to open the pipeline's details page. From here, users with Maintain or higher permissions can: -- **View version history**: See a chronological list of all draft and published versions with creator, date, and checksum. +- **View version history**: See a chronological list of all draft and published versions with creator, date, and hash. - Use the dropdown next to **Show:** to show all versions, or filter by draft or published versions. - - **Search** for specific version names (freetext search), or use keywords to search by `pipelineVersionId:` or `pipelineVersionHash:` ([version checksum](#version-checksums)). -- **Manage draft versions**: - - Select **Publish** from the options menu of a draft version to name this version and optionally make it the default version to launch from the Launchpad. + - **Search** for specific version names (freetext search), or use keywords to search by `versionId:`, `versionName:`, or `versionHash:` ([version hash](#version-hash)). +- **Manage draft versions**: + - Select **Publish** from the options menu of a draft version to name this version and optionally make it the default version to launch from the Launchpad. + :::note + Draft versions created from workflow runs can only be published from the pipeline's original workspace. For shared pipelines, the **Publish** action is only available in the workspace where the pipeline was created. + ::: - Select **Edit** to open the pipeline edit form and either save a new draft or publish the current draft version. - **Manage published versions**: - Select **Make default** from the options menu of a published version to use this version for every pipeline launch. @@ -58,12 +74,22 @@ Select a pipeline from the workspace Launchpad to open the pipeline's details pa Individual draft versions cannot be deleted - the pipeline configuration audit trail is immutable. However, published versions can be unpublished or have their names reassigned to different draft versions. :::note -A shared pipeline's versions can only be edited from its original workspace. +A shared pipeline's versions can only be edited and published from its original workspace. Draft versions created from shared pipeline runs in other workspaces cannot be published. ::: -#### Version checksums +#### Pipeline optimization + +[Pipeline optimization](../pipeline-optimization/overview) is available directly from the pipeline details page for the default version. Users with Maintain or higher permissions can: + +- **Optimize pipeline**: Configure pipeline optimization settings for the default version from the **Default** section or the **Edit pipeline** form. +- **Toggle optimization**: Enable or disable optimization for a pipeline that has already been optimized. +- **Customize profile**: Modify the optimization profile settings when optimization is enabled. + +Pipeline optimization settings apply to the default version and remain configured when you set a different version as the default. + +#### Version hash -Seqera calculates a checksum for each draft version based on its version-triggering parameters. This provides: +Seqera calculates a hash for each draft version based on its version-triggering parameters. This provides: - **Cryptographic verification** that a workflow run's configuration matches its associated pipeline version -- **Provenance tracking** for audit and compliance requirements \ No newline at end of file +- **Provenance tracking** for audit and compliance requirements diff --git a/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md b/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md index c7edff38c..cde20b7c1 100644 --- a/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md +++ b/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md @@ -5,8 +5,8 @@ date created: "2025-11-14" tags: [pipelines, versioning, nextflow, parameters] --- -:::info -Pipeline versioning is a preview feature in active development. See [Core features](../enterprise/configuration/overview.mdx#core-features) for instructions to enable this feature in your organization workspaces. +:::info +Pipeline versioning is a preview feature in active development. See [Core features](../enterprise/configuration/overview.mdx#core-features) for instructions to enable this feature in your organization workspaces. ::: Seqera's pipeline versioning system captures configuration changes as new draft versions of the pipeline, ensuring configuration traceability and execution reproducibility. Users with [Maintain or higher](../orgs-and-teams/roles.md) permissions can edit and publish draft versions, creating published versions that teams can reference and launch consistently. @@ -24,6 +24,19 @@ New draft versions are automatically generated during pipeline edit or launch wh "track_changes": false } ``` + + For nested parameters, `track_changes` is supported at the leaf node level: + ```json + "nestedParam": { + "type": "object", + "properties": { + "leafParam": { + "type": "string", + "track_changes": false + } + } + } + ``` ::: - Fields in the pipeline **Edit** form, excluding: - **Name** @@ -45,11 +58,14 @@ Seqera maintains a history of all draft and published versions, providing an aud Select a pipeline from the workspace Launchpad to open the pipeline's details page. From here, users with Maintain or higher permissions can: -- **View version history**: See a chronological list of all draft and published versions with creator, date, and checksum. +- **View version history**: See a chronological list of all draft and published versions with creator, date, and hash. - Use the dropdown next to **Show:** to show all versions, or filter by draft or published versions. - - **Search** for specific version names (freetext search), or use keywords to search by `pipelineVersionId:` ([version checksum](#version-checksums)). + - **Search** for specific version names (freetext search), or use keywords to search by `versionId:`, `versionName:`, or `versionHash:` ([version hash](#version-hash)). - **Manage draft versions**: - Select **Publish** from the options menu of a draft version to name this version and optionally make it the default version to launch from the Launchpad. + :::note + Draft versions created from workflow runs can only be published from the pipeline's original workspace. For shared pipelines, the **Publish** action is only available in the workspace where the pipeline was created. + ::: - Select **Edit** to open the pipeline edit form and either save a new draft or publish the current draft version. - **Manage published versions**: - Select **Make default** from the options menu of a published version to use this version for every pipeline launch. @@ -59,12 +75,22 @@ Select a pipeline from the workspace Launchpad to open the pipeline's details pa Individual versions cannot be deleted. This ensures that the pipeline configuration audit trail is immutable. However, published versions can be unpublished or have their names reassigned to different versions. :::note -A shared pipeline's versions can only be edited from its original workspace. +A shared pipeline's versions can only be edited and published from its original workspace. Draft versions created from shared pipeline runs in other workspaces cannot be published. ::: -#### Version checksums +#### Pipeline optimization + +[Pipeline optimization](../pipeline-optimization/overview) is available directly from the pipeline details page for the default version. Users with [Maintain or higher](../orgs-and-teams/roles.md) permissions can: + +- **Optimize pipeline**: Configure pipeline optimization settings for the default version from the **Default** section or the **Edit pipeline** form. +- **Toggle optimization**: Enable or disable optimization for a pipeline that has already been optimized. +- **Customize profile**: Modify the optimization profile settings when optimization is enabled. + +Pipeline optimization settings apply to the default version and remain configured when you set a different version as the default. + +#### Version hash -Seqera calculates a checksum for each draft version based on its version-triggering parameters. This provides: +Seqera calculates a hash for each draft version based on its version-triggering parameters. This provides: - **Provenance tracking** for audit and compliance requirements. - **Cryptographic verification** that a workflow run's configuration matches its associated pipeline version. From bdb7d3387892f706e366de3c7252e3ca6fb30268 Mon Sep 17 00:00:00 2001 From: Llewellyn vd Berg <113503285+llewellyn-sl@users.noreply.github.com> Date: Fri, 6 Feb 2026 11:13:05 -0500 Subject: [PATCH 3/8] Exclude API docs from build so deploy preview can succeed --- netlify.toml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/netlify.toml b/netlify.toml index e5193a26b..4095309d7 100644 --- a/netlify.toml +++ b/netlify.toml @@ -9,16 +9,18 @@ # Limit SSG worker threads to prevent OOM errors in Netlify builds # Docusaurus defaults to 32 threads with 1GB memory each, but Netlify's # memory limits aren't properly enforced, causing out-of-memory 137 errors. - # Limiting thread processing avoids this issue with some build time impact however, + # Limiting thread processing avoids this issue with some build time impact however, # build are still significantly faster than without SSG in-use. # Reference: https://github.com/facebook/docusaurus/discussions/11199 DOCUSAURUS_SSG_WORKER_THREAD_COUNT = "1" [context.deploy-preview.build.environment] INCLUDE_NEXT="true" + EXCLUDE_PLATFORM_API="true" + EXCLUDE_PLATFORM_OPENAPI="true" # Seqera API docs are too large to host / build on netlify on their own. -# The appropriate ENVVAR is set to disable the API Builds on Netlify for the main docs site. +# The appropriate ENVVAR is set to disable the API Builds on Netlify for the main docs site. [[redirects]] from = "/platform-api/*" to = "https://seqera-docs-api.netlify.app/platform-api/:splat" From 0c8bdd140c58c66c3030cfd4451bd881d9fffd91 Mon Sep 17 00:00:00 2001 From: Llewellyn vd Berg <113503285+llewellyn-sl@users.noreply.github.com> Date: Mon, 9 Feb 2026 10:45:28 -0500 Subject: [PATCH 4/8] Update pipeline versioning docs with custom schema support and GA changes - Add custom schema documentation to Cloud and Enterprise 25.3 versioning pages - Remove preview status from Enterprise 25.3 (feature now GA) - Add commit ID pinning recommendation for Enterprise 25.3 - Update shared pipeline editing notes to clarify workspace restrictions - Update pipeline optimization section for non-default version clarity - Remove versioning page from Cloud sidebar (releasing Feb 19) Addresses PR review comments from PLAT-3570 custom schema feature. Co-Authored-By: Claude Sonnet 4.5 --- platform-cloud/cloud-sidebar.json | 5 ++- platform-cloud/docs/pipelines/versioning.md | 23 +++++++++++-- .../version-25.3/pipelines/versioning.md | 33 +++++++++++++++---- 3 files changed, 49 insertions(+), 12 deletions(-) diff --git a/platform-cloud/cloud-sidebar.json b/platform-cloud/cloud-sidebar.json index 74a6d1b0c..4512811c9 100644 --- a/platform-cloud/cloud-sidebar.json +++ b/platform-cloud/cloud-sidebar.json @@ -107,7 +107,6 @@ "items": [ "pipelines/overview", "pipeline-schema/overview", - "pipelines/versioning", "pipelines/revision", "launch/launchpad", "labels/overview", @@ -143,9 +142,9 @@ "studios/add-studio-custom-container", "studios/add-studio-git-repo" ] - }, + }, "studios/managing", - "studios/connect" + "studios/connect" ] }, { diff --git a/platform-cloud/docs/pipelines/versioning.md b/platform-cloud/docs/pipelines/versioning.md index 3714b33f5..fa9a032ec 100644 --- a/platform-cloud/docs/pipelines/versioning.md +++ b/platform-cloud/docs/pipelines/versioning.md @@ -42,6 +42,7 @@ New draft versions are automatically generated when you modify the following: - **Image** - **Description** - **Labels** +- Custom Nextflow schema file (see [Custom schema](#custom-schema)) Published versions provide a stable reference for team-wide pipeline launches. Users with Maintain or higher permissions can publish a draft version, giving it a name and optionally setting it as the default version. This makes important configurations easy to identify, share, and promote across your team. @@ -51,6 +52,24 @@ A pipeline's default version is shown in the Launchpad and automatically selecte Seqera maintains a history of all draft and published versions, providing an audit trail of pipeline evolution. +#### Custom schema + +Users with Maintain or higher permissions can upload a custom `nextflow_schema.json` file to control which pipeline parameters are exposed in the launch form. This allows you to restrict the parameters visible to launch users, simplifying the launch experience and preventing modification of parameters that should remain fixed. + +The custom schema field is available when adding or editing a pipeline. When you upload a custom schema: + +- The schema content is validated to ensure it's a valid Nextflow schema +- The custom schema controls which parameters appear in the pipeline launch form +- Changes to the custom schema trigger a new draft version of the pipeline +- The custom schema is applied to all launches using that pipeline version + +To add or update a custom schema: + +1. Navigate to **Add pipeline** or select **Edit** for an existing pipeline +2. In the **Custom Schema JSON** field, paste your custom Nextflow schema JSON +3. The schema is validated automatically as you enter it +4. Select **Add** or **Save** to create a new draft version with the custom schema + #### Manage pipeline versions ![](./_images/pipeline-version-detail.jpg) @@ -74,7 +93,7 @@ Select a pipeline from the workspace Launchpad to open the pipeline's details pa Individual draft versions cannot be deleted - the pipeline configuration audit trail is immutable. However, published versions can be unpublished or have their names reassigned to different draft versions. :::note -A shared pipeline's versions can only be edited and published from its original workspace. Draft versions created from shared pipeline runs in other workspaces cannot be published. +Changes made at launch time in a target workspace cannot be saved. Changes to versions can only be saved and published from the pipeline's original workspace. ::: #### Pipeline optimization @@ -85,7 +104,7 @@ A shared pipeline's versions can only be edited and published from its original - **Toggle optimization**: Enable or disable optimization for a pipeline that has already been optimized. - **Customize profile**: Modify the optimization profile settings when optimization is enabled. -Pipeline optimization settings apply to the default version and remain configured when you set a different version as the default. +To optimize specific non-default versions, use the **Edit** page for that version. Pipeline optimization settings apply per version and remain configured when you set a different version as the default. #### Version hash diff --git a/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md b/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md index cde20b7c1..6f10d1be6 100644 --- a/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md +++ b/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md @@ -1,16 +1,16 @@ --- -title: "Pipeline versioning (preview)" +title: "Pipeline versioning" description: "Introduction to pipeline versioning in Seqera Platform." date created: "2025-11-14" tags: [pipelines, versioning, nextflow, parameters] --- -:::info -Pipeline versioning is a preview feature in active development. See [Core features](../enterprise/configuration/overview.mdx#core-features) for instructions to enable this feature in your organization workspaces. -::: - Seqera's pipeline versioning system captures configuration changes as new draft versions of the pipeline, ensuring configuration traceability and execution reproducibility. Users with [Maintain or higher](../orgs-and-teams/roles.md) permissions can edit and publish draft versions, creating published versions that teams can reference and launch consistently. +:::tip +For deterministic and reproducible pipeline execution, use [commit ID pinning](revision.md) for published pipeline versions. This ensures the same workflow code is used across all launches of that version. +::: + When you add a new pipeline to Seqera, the first default version of that pipeline is automatically published. New draft versions are automatically generated during pipeline edit or launch when you modify the following: @@ -43,6 +43,7 @@ New draft versions are automatically generated during pipeline edit or launch wh - **Image** - **Description** - **Labels** +- Custom Nextflow schema file (see [Custom schema](#custom-schema)) Published versions provide a stable reference for team-wide pipeline launches. Users with Maintain or higher permissions can publish a draft version, giving it a name and optionally setting it as the default version. This makes important configurations easy to identify, share, and promote across your team. @@ -52,6 +53,24 @@ A pipeline's default version is shown in the Launchpad and automatically selecte Seqera maintains a history of all draft and published versions, providing an audit trail of pipeline evolution. +#### Custom schema + +Users with [Maintain or higher](../orgs-and-teams/roles.md) permissions can upload a custom `nextflow_schema.json` file to control which pipeline parameters are exposed in the launch form. This allows you to restrict the parameters visible to launch users, simplifying the launch experience and preventing modification of parameters that should remain fixed. + +The custom schema field is available when adding or editing a pipeline. When you upload a custom schema: + +- The schema content is validated to ensure it's a valid Nextflow schema +- The custom schema controls which parameters appear in the pipeline launch form +- Changes to the custom schema trigger a new draft version of the pipeline +- The custom schema is applied to all launches using that pipeline version + +To add or update a custom schema: + +1. Navigate to **Add pipeline** or select **Edit** for an existing pipeline +2. In the **Custom Schema JSON** field, paste your custom Nextflow schema JSON +3. The schema is validated automatically as you enter it +4. Select **Add** or **Save** to create a new draft version with the custom schema + ### Manage pipeline versions ![](./_images/pipeline-version-detail.jpg) @@ -75,7 +94,7 @@ Select a pipeline from the workspace Launchpad to open the pipeline's details pa Individual versions cannot be deleted. This ensures that the pipeline configuration audit trail is immutable. However, published versions can be unpublished or have their names reassigned to different versions. :::note -A shared pipeline's versions can only be edited and published from its original workspace. Draft versions created from shared pipeline runs in other workspaces cannot be published. +Changes made at launch time in a target workspace cannot be saved. Changes to versions can only be saved and published from the pipeline's original workspace. ::: #### Pipeline optimization @@ -86,7 +105,7 @@ A shared pipeline's versions can only be edited and published from its original - **Toggle optimization**: Enable or disable optimization for a pipeline that has already been optimized. - **Customize profile**: Modify the optimization profile settings when optimization is enabled. -Pipeline optimization settings apply to the default version and remain configured when you set a different version as the default. +To optimize specific non-default versions, use the **Edit** page for that version. Pipeline optimization settings apply per version and remain configured when you set a different version as the default. #### Version hash From cd372d6d32a85f5f040386b09134f17efccf35a6 Mon Sep 17 00:00:00 2001 From: Llewellyn vd Berg <113503285+llewellyn-sl@users.noreply.github.com> Date: Tue, 17 Feb 2026 15:03:44 +0200 Subject: [PATCH 5/8] Move custom schema section to pipeline-schema overview page - Add "Define pipeline schema" section to pipeline-schema/overview.md - Document all three schema options: Repository default, Repository path, and Seqera Platform schema - Include detailed instructions for Seqera Platform schema option - Add note about unique schema id field requirement - Remove Custom schema section from pipelines/versioning.md - Update versioning.md references to point to new location - Apply changes to both Cloud and Enterprise v25.3 docs Co-Authored-By: Claude Sonnet 4.5 --- .../docs/pipeline-schema/overview.md | 31 +++++++++++++++++++ platform-cloud/docs/pipelines/versioning.md | 20 +----------- .../version-25.3/pipeline-schema/overview.md | 31 +++++++++++++++++++ .../version-25.3/pipelines/versioning.md | 20 +----------- 4 files changed, 64 insertions(+), 38 deletions(-) diff --git a/platform-cloud/docs/pipeline-schema/overview.md b/platform-cloud/docs/pipeline-schema/overview.md index 33d16f746..6d5dc28b1 100644 --- a/platform-cloud/docs/pipeline-schema/overview.md +++ b/platform-cloud/docs/pipeline-schema/overview.md @@ -11,6 +11,37 @@ You can populate the parameters in the pipeline by uploading a YAML or JSON file See [nf-core/rnaseq](https://github.com/nf-core/rnaseq/blob/e049f51f0214b2aef7624b9dd496a404a7c34d14/nextflow_schema.json) as an example of the pipeline parameters that can be represented by a JSON schema file. +### Define pipeline schema + +When adding or editing a pipeline, you can select one of three schema options to control parameter validation and the launch form: + +1. **Repository default**: Use the default schema provided by the Pipeline git repository. +2. **Repository path**: Use a schema at a specific path in the repository. +3. **Seqera Platform schema**: Use a Nextflow JSON schema stored in Seqera Platform (overrides repository). + +The selected schema controls which pipeline parameters are exposed in the launch form. This allows you to restrict the parameters visible to launch users, simplifying the launch experience and preventing modification of parameters that should remain fixed. + +#### Seqera Platform schema + +Users with [Maintain or higher](../orgs-and-teams/roles.md) permissions can upload a custom `nextflow_schema.json` file directly to Seqera Platform. When you upload a Platform schema: + +- The schema content is validated to ensure it's a valid JSON schema +- The Platform schema controls which parameters appear in the pipeline launch form +- Changes to the Platform schema trigger a new draft version of the pipeline +- The Platform schema is applied to all launches using that pipeline version + +To add or update a Seqera Platform schema: + +1. Navigate to **Add pipeline** or select **Edit** for an existing pipeline +2. Select **Seqera Platform schema** from the schema options +3. In the **Seqera Platform schema** field, paste your custom Nextflow schema JSON +4. The schema is validated automatically as you enter it +5. Select **Add** or **Save** to create a new draft version with the Platform schema + +:::note +The schema `id` field must be unique. If you're pasting pipeline schema contents from an existing pipeline schema file, ensure you update the `id` field to a unique value. +::: + ### Building pipeline schema files The pipeline schema is based on [json-schema.org](https://json-schema.org/) syntax, with some additional conventions. While you can create your pipeline schema manually, we highly recommend using [nf-core tools](https://nf-co.re/tools/#pipeline-schema), a toolset for developing Nextflow pipelines built by the nf-core community. diff --git a/platform-cloud/docs/pipelines/versioning.md b/platform-cloud/docs/pipelines/versioning.md index fa9a032ec..534d4a8e7 100644 --- a/platform-cloud/docs/pipelines/versioning.md +++ b/platform-cloud/docs/pipelines/versioning.md @@ -42,7 +42,7 @@ New draft versions are automatically generated when you modify the following: - **Image** - **Description** - **Labels** -- Custom Nextflow schema file (see [Custom schema](#custom-schema)) +- Pipeline schema selection (see [Define pipeline schema](../pipeline-schema/overview.md#define-pipeline-schema)) Published versions provide a stable reference for team-wide pipeline launches. Users with Maintain or higher permissions can publish a draft version, giving it a name and optionally setting it as the default version. This makes important configurations easy to identify, share, and promote across your team. @@ -52,24 +52,6 @@ A pipeline's default version is shown in the Launchpad and automatically selecte Seqera maintains a history of all draft and published versions, providing an audit trail of pipeline evolution. -#### Custom schema - -Users with Maintain or higher permissions can upload a custom `nextflow_schema.json` file to control which pipeline parameters are exposed in the launch form. This allows you to restrict the parameters visible to launch users, simplifying the launch experience and preventing modification of parameters that should remain fixed. - -The custom schema field is available when adding or editing a pipeline. When you upload a custom schema: - -- The schema content is validated to ensure it's a valid Nextflow schema -- The custom schema controls which parameters appear in the pipeline launch form -- Changes to the custom schema trigger a new draft version of the pipeline -- The custom schema is applied to all launches using that pipeline version - -To add or update a custom schema: - -1. Navigate to **Add pipeline** or select **Edit** for an existing pipeline -2. In the **Custom Schema JSON** field, paste your custom Nextflow schema JSON -3. The schema is validated automatically as you enter it -4. Select **Add** or **Save** to create a new draft version with the custom schema - #### Manage pipeline versions ![](./_images/pipeline-version-detail.jpg) diff --git a/platform-enterprise_versioned_docs/version-25.3/pipeline-schema/overview.md b/platform-enterprise_versioned_docs/version-25.3/pipeline-schema/overview.md index 33d16f746..6d5dc28b1 100644 --- a/platform-enterprise_versioned_docs/version-25.3/pipeline-schema/overview.md +++ b/platform-enterprise_versioned_docs/version-25.3/pipeline-schema/overview.md @@ -11,6 +11,37 @@ You can populate the parameters in the pipeline by uploading a YAML or JSON file See [nf-core/rnaseq](https://github.com/nf-core/rnaseq/blob/e049f51f0214b2aef7624b9dd496a404a7c34d14/nextflow_schema.json) as an example of the pipeline parameters that can be represented by a JSON schema file. +### Define pipeline schema + +When adding or editing a pipeline, you can select one of three schema options to control parameter validation and the launch form: + +1. **Repository default**: Use the default schema provided by the Pipeline git repository. +2. **Repository path**: Use a schema at a specific path in the repository. +3. **Seqera Platform schema**: Use a Nextflow JSON schema stored in Seqera Platform (overrides repository). + +The selected schema controls which pipeline parameters are exposed in the launch form. This allows you to restrict the parameters visible to launch users, simplifying the launch experience and preventing modification of parameters that should remain fixed. + +#### Seqera Platform schema + +Users with [Maintain or higher](../orgs-and-teams/roles.md) permissions can upload a custom `nextflow_schema.json` file directly to Seqera Platform. When you upload a Platform schema: + +- The schema content is validated to ensure it's a valid JSON schema +- The Platform schema controls which parameters appear in the pipeline launch form +- Changes to the Platform schema trigger a new draft version of the pipeline +- The Platform schema is applied to all launches using that pipeline version + +To add or update a Seqera Platform schema: + +1. Navigate to **Add pipeline** or select **Edit** for an existing pipeline +2. Select **Seqera Platform schema** from the schema options +3. In the **Seqera Platform schema** field, paste your custom Nextflow schema JSON +4. The schema is validated automatically as you enter it +5. Select **Add** or **Save** to create a new draft version with the Platform schema + +:::note +The schema `id` field must be unique. If you're pasting pipeline schema contents from an existing pipeline schema file, ensure you update the `id` field to a unique value. +::: + ### Building pipeline schema files The pipeline schema is based on [json-schema.org](https://json-schema.org/) syntax, with some additional conventions. While you can create your pipeline schema manually, we highly recommend using [nf-core tools](https://nf-co.re/tools/#pipeline-schema), a toolset for developing Nextflow pipelines built by the nf-core community. diff --git a/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md b/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md index 6f10d1be6..902238f48 100644 --- a/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md +++ b/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md @@ -43,7 +43,7 @@ New draft versions are automatically generated during pipeline edit or launch wh - **Image** - **Description** - **Labels** -- Custom Nextflow schema file (see [Custom schema](#custom-schema)) +- Pipeline schema selection (see [Define pipeline schema](../pipeline-schema/overview.md#define-pipeline-schema)) Published versions provide a stable reference for team-wide pipeline launches. Users with Maintain or higher permissions can publish a draft version, giving it a name and optionally setting it as the default version. This makes important configurations easy to identify, share, and promote across your team. @@ -53,24 +53,6 @@ A pipeline's default version is shown in the Launchpad and automatically selecte Seqera maintains a history of all draft and published versions, providing an audit trail of pipeline evolution. -#### Custom schema - -Users with [Maintain or higher](../orgs-and-teams/roles.md) permissions can upload a custom `nextflow_schema.json` file to control which pipeline parameters are exposed in the launch form. This allows you to restrict the parameters visible to launch users, simplifying the launch experience and preventing modification of parameters that should remain fixed. - -The custom schema field is available when adding or editing a pipeline. When you upload a custom schema: - -- The schema content is validated to ensure it's a valid Nextflow schema -- The custom schema controls which parameters appear in the pipeline launch form -- Changes to the custom schema trigger a new draft version of the pipeline -- The custom schema is applied to all launches using that pipeline version - -To add or update a custom schema: - -1. Navigate to **Add pipeline** or select **Edit** for an existing pipeline -2. In the **Custom Schema JSON** field, paste your custom Nextflow schema JSON -3. The schema is validated automatically as you enter it -4. Select **Add** or **Save** to create a new draft version with the custom schema - ### Manage pipeline versions ![](./_images/pipeline-version-detail.jpg) From 381cf85ccdaed069c29d20c171e08257e103b27e Mon Sep 17 00:00:00 2001 From: Llewellyn vd Berg <113503285+llewellyn-sl@users.noreply.github.com> Date: Wed, 18 Feb 2026 13:17:41 +0200 Subject: [PATCH 6/8] Update netlify.toml --- netlify.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/netlify.toml b/netlify.toml index a39d80f96..b7958a2d3 100644 --- a/netlify.toml +++ b/netlify.toml @@ -18,8 +18,7 @@ [context.deploy-preview.build.environment] INCLUDE_NEXT="true" - EXCLUDE_PLATFORM_API="true" - EXCLUDE_PLATFORM_OPENAPI="true" + # Seqera API docs are too large to host / build on netlify on their own. # The appropriate ENVVAR is set to disable the API Builds on Netlify for the main docs site. From 36c3ac4991bc8be2fe70cb94db7c8250059fe808 Mon Sep 17 00:00:00 2001 From: Llewellyn vd Berg <113503285+llewellyn-sl@users.noreply.github.com> Date: Wed, 18 Feb 2026 13:18:05 +0200 Subject: [PATCH 7/8] Update netlify.toml --- netlify.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/netlify.toml b/netlify.toml index b7958a2d3..a39d80f96 100644 --- a/netlify.toml +++ b/netlify.toml @@ -18,7 +18,8 @@ [context.deploy-preview.build.environment] INCLUDE_NEXT="true" - + EXCLUDE_PLATFORM_API="true" + EXCLUDE_PLATFORM_OPENAPI="true" # Seqera API docs are too large to host / build on netlify on their own. # The appropriate ENVVAR is set to disable the API Builds on Netlify for the main docs site. From 9d34edcf5135f94de82728d2ab15505cf1db8862 Mon Sep 17 00:00:00 2001 From: Llewellyn vd Berg <113503285+llewellyn-sl@users.noreply.github.com> Date: Wed, 18 Feb 2026 13:21:21 +0200 Subject: [PATCH 8/8] Add resource labels to versioning exclusion list Updates versioning documentation to clarify that resource labels are excluded from triggering new pipeline versions, alongside name, image, description, and labels. Co-Authored-By: Claude Sonnet 4.5 --- platform-cloud/docs/pipelines/versioning.md | 1 + platform-enterprise_docs/pipelines/versioning.md | 1 + .../version-25.3/pipelines/versioning.md | 1 + 3 files changed, 3 insertions(+) diff --git a/platform-cloud/docs/pipelines/versioning.md b/platform-cloud/docs/pipelines/versioning.md index 00e4fa0f2..8a61effee 100644 --- a/platform-cloud/docs/pipelines/versioning.md +++ b/platform-cloud/docs/pipelines/versioning.md @@ -42,6 +42,7 @@ New draft versions are automatically generated when you modify the following: - **Image** - **Description** - **Labels** + - **Resource labels** - Pipeline schema selection (see [Define pipeline schema](../pipeline-schema/overview.md#define-pipeline-schema)) Published versions provide a stable reference for team-wide pipeline launches. Users with Maintain or higher permissions can publish a draft version, giving it a name and optionally setting it as the default version. This makes important configurations easy to identify, share, and promote across your team. diff --git a/platform-enterprise_docs/pipelines/versioning.md b/platform-enterprise_docs/pipelines/versioning.md index e5578631d..ede21e4a8 100644 --- a/platform-enterprise_docs/pipelines/versioning.md +++ b/platform-enterprise_docs/pipelines/versioning.md @@ -26,6 +26,7 @@ New draft versions are automatically generated during pipeline edit or launch wh - **Image** - **Description** - **Labels** + - **Resource labels** Published versions provide a stable reference for team-wide pipeline launches. Users with Maintain or higher permissions can publish a draft version, giving it a name and optionally setting it as the default version. This makes important configurations easy to identify, share, and promote across your team. diff --git a/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md b/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md index 16f809af4..b70736bb7 100644 --- a/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md +++ b/platform-enterprise_versioned_docs/version-25.3/pipelines/versioning.md @@ -43,6 +43,7 @@ New draft versions are automatically generated during pipeline edit or launch wh - **Image** - **Description** - **Labels** + - **Resource labels** - Pipeline schema selection (see [Define pipeline schema](../pipeline-schema/overview.md#define-pipeline-schema)) Published versions provide a stable reference for team-wide pipeline launches. Users with Maintain or higher permissions can publish a draft version, giving it a name and optionally setting it as the default version. This makes important configurations easy to identify, share, and promote across your team.