From 7b2e4fc1525c8d72f53e896e847274b6685de982 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Wed, 29 Jul 2026 09:11:20 -0500 Subject: [PATCH 1/3] [cep-14] permit dollar schema --- cep-0014.md | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/cep-0014.md b/cep-0014.md index fe9c2837..c026792b 100644 --- a/cep-0014.md +++ b/cep-0014.md @@ -5,7 +5,7 @@ Status Accepted Author(s) Wolf Vollprecht <wolf@prefix.dev> Created May 23, 2023 - Updated Sep 26, 2025 + Updated Jul 29, 2026 Discussion https://github.com/conda-incubator/ceps/pull/56 Implementation https://github.com/prefix-dev/rattler-build @@ -47,6 +47,18 @@ If outputs exist, the top-level keys are 'merged' with the output keys (e.g. for ## Format +### Schema declaration + +To benefit from autocompletion and other JSON Schema-based features in editors and +third-party YAML tools, we can add a `$schema` URI reference to the recipe. + +```yaml +# a URL pointing at a JSON file... +$schema: https://raw.githubusercontent.com/prefix-dev/recipe-format/992602280/schema.json +# ... or relative POSIX path +# $schema: ./custom-recipe-schema.json +``` + ### Schema version The implicit version of the YAML schema for a recipe is an integer 1. @@ -59,12 +71,6 @@ The version can be explicitly set by adding a `schema_version` key to the recipe schema_version: 1 # integer ``` -To benefit from autocompletion, and other LSP features in editors, we can add a schema URL to the recipe. - -```yaml -# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/73cd2eed94c576213c5f25ab57adf6d8c83e792a/schema.json -``` - ### Context section The context section is a dictionary with key-value pairs that can be used for string interpolation. @@ -570,6 +576,10 @@ extra: What follows is an example recipe, using the YAML syntax discussed in ```yaml +$schema: https://raw.githubusercontent.com/prefix-dev/recipe-format/992602280/schema.json + +schema_version: 1 + context: name: xtensor version: 0.24.6 @@ -642,6 +652,10 @@ tests: Or a multi-output package ```yaml +$schema: https://raw.githubusercontent.com/prefix-dev/recipe-format/992602280/schema.json + +schema_version: 1 + context: name: mamba libmamba_version: "1.4.2" @@ -841,3 +855,4 @@ extra: - September 24, 2025: Removed `about.license_url` as the field exists but is unused in `conda-build`. - September 26, 2025: Permits lists of scalars in `context`. +- July 29, 2026: Permits `$schema`. From c410d6f68b5d0eeabe1cbff7ab9badc58772a66a Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Wed, 29 Jul 2026 09:18:41 -0500 Subject: [PATCH 2/3] add discussion link --- cep-0014.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cep-0014.md b/cep-0014.md index c026792b..8f325d56 100644 --- a/cep-0014.md +++ b/cep-0014.md @@ -6,7 +6,7 @@ Author(s) Wolf Vollprecht <wolf@prefix.dev> Created May 23, 2023 Updated Jul 29, 2026 - Discussion https://github.com/conda-incubator/ceps/pull/56 + Discussion https://github.com/conda-incubator/ceps/pull/56
https://github.com/conda/ceps/pull/186 Implementation https://github.com/prefix-dev/rattler-build From 31c5747169a06eabc37e2c8c9e165b284036d072 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Wed, 29 Jul 2026 09:21:45 -0500 Subject: [PATCH 3/3] update with recipe-format main commit with instead of fork --- cep-0014.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cep-0014.md b/cep-0014.md index 8f325d56..5bbaa906 100644 --- a/cep-0014.md +++ b/cep-0014.md @@ -54,7 +54,7 @@ third-party YAML tools, we can add a `$schema` URI reference to the recipe. ```yaml # a URL pointing at a JSON file... -$schema: https://raw.githubusercontent.com/prefix-dev/recipe-format/992602280/schema.json +$schema: https://raw.githubusercontent.com/prefix-dev/recipe-format/7e9363f2c/schema.json # ... or relative POSIX path # $schema: ./custom-recipe-schema.json ``` @@ -576,7 +576,7 @@ extra: What follows is an example recipe, using the YAML syntax discussed in ```yaml -$schema: https://raw.githubusercontent.com/prefix-dev/recipe-format/992602280/schema.json +$schema: https://raw.githubusercontent.com/prefix-dev/recipe-format/7e9363f2c/schema.json schema_version: 1 @@ -652,7 +652,7 @@ tests: Or a multi-output package ```yaml -$schema: https://raw.githubusercontent.com/prefix-dev/recipe-format/992602280/schema.json +$schema: https://raw.githubusercontent.com/prefix-dev/recipe-format/7e9363f2c/schema.json schema_version: 1