|
16 | 16 | "title": "AwsConfig", |
17 | 17 | "type": "object" |
18 | 18 | }, |
| 19 | + "LangBuildConfig": { |
| 20 | + "additionalProperties": false, |
| 21 | + "properties": { |
| 22 | + "additional-make-args": { |
| 23 | + "description": "A list of additional arguments to pass to adbc-make.", |
| 24 | + "items": { |
| 25 | + "type": "string" |
| 26 | + }, |
| 27 | + "title": "Additional-Make-Args", |
| 28 | + "type": "array" |
| 29 | + }, |
| 30 | + "go-mod-path": { |
| 31 | + "anyOf": [ |
| 32 | + { |
| 33 | + "type": "string" |
| 34 | + }, |
| 35 | + { |
| 36 | + "type": "null" |
| 37 | + } |
| 38 | + ], |
| 39 | + "default": null, |
| 40 | + "description": "Path containing the go.mod file for Go drivers. Used to cache dependencies in CI. Defaults to the language subdir.", |
| 41 | + "title": "Go-Mod-Path" |
| 42 | + }, |
| 43 | + "lang-tools": { |
| 44 | + "description": "Install tools for these languages to use in the build.", |
| 45 | + "items": { |
| 46 | + "type": "string" |
| 47 | + }, |
| 48 | + "title": "Lang-Tools", |
| 49 | + "type": "array" |
| 50 | + }, |
| 51 | + "environment-contexts": { |
| 52 | + "description": "What parts of the build require the environment.", |
| 53 | + "items": { |
| 54 | + "type": "string" |
| 55 | + }, |
| 56 | + "title": "Environment-Contexts", |
| 57 | + "type": "array" |
| 58 | + } |
| 59 | + }, |
| 60 | + "title": "LangBuildConfig", |
| 61 | + "type": "object" |
| 62 | + }, |
| 63 | + "LangConfig": { |
| 64 | + "additionalProperties": false, |
| 65 | + "properties": { |
| 66 | + "build": { |
| 67 | + "$ref": "#/$defs/LangBuildConfig", |
| 68 | + "description": "Configuration for building the driver." |
| 69 | + }, |
| 70 | + "subdir": { |
| 71 | + "anyOf": [ |
| 72 | + { |
| 73 | + "type": "string" |
| 74 | + }, |
| 75 | + { |
| 76 | + "type": "null" |
| 77 | + } |
| 78 | + ], |
| 79 | + "default": null, |
| 80 | + "description": "Override the default subdirectory for this language. Use '.' to place files at the repository root.", |
| 81 | + "title": "Subdir" |
| 82 | + }, |
| 83 | + "skip-test": { |
| 84 | + "default": false, |
| 85 | + "description": "Whether to skip test workflows (primarily useful for build-only drivers)", |
| 86 | + "title": "Skip-Test", |
| 87 | + "type": "boolean" |
| 88 | + }, |
| 89 | + "skip-validate": { |
| 90 | + "default": false, |
| 91 | + "description": "Whether to skip the validation suite in CI (this should only be used temporarily while setting up a driver)", |
| 92 | + "title": "Skip-Validate", |
| 93 | + "type": "boolean" |
| 94 | + } |
| 95 | + }, |
| 96 | + "title": "LangConfig", |
| 97 | + "type": "object" |
| 98 | + }, |
19 | 99 | "SecretConfigDict": { |
20 | 100 | "additionalProperties": false, |
21 | 101 | "description": "Secret configuration with explicit secret name and contexts.", |
|
29 | 109 | "description": "Workflow contexts where this secret should be available", |
30 | 110 | "items": { |
31 | 111 | "enum": [ |
| 112 | + "build:test", |
32 | 113 | "build:release", |
33 | 114 | "test", |
34 | 115 | "validate" |
|
51 | 132 | "properties": { |
52 | 133 | "extra-dependencies": { |
53 | 134 | "additionalProperties": true, |
54 | | - "description": "Additional dependencies to install for validation workflows. Specify as key-value pairs. Example:\n\n[validation.extra-dependencies]\npytest = \"^7.0\"\nblack = \"*\"", |
| 135 | + "description": "Additional dependencies to install for validation workflows. Specify as key-value pairs. Example:\n\n[validation.extra-dependencies]\npytest = \">=7,<8\"\nblack = \"*\"", |
55 | 136 | "title": "Extra-Dependencies", |
56 | 137 | "type": "object" |
| 138 | + }, |
| 139 | + "extra-pypi-dependencies": { |
| 140 | + "additionalProperties": true, |
| 141 | + "description": "Additional dependencies to install for validation workflows. Specify as key-value pairs. Example:\n\n[validation.extra-pypi-dependencies]\npytest = \">=7,<8\"\nblack = \"*\"", |
| 142 | + "title": "Extra-Pypi-Dependencies", |
| 143 | + "type": "object" |
57 | 144 | } |
58 | 145 | }, |
59 | 146 | "title": "ValidationConfig", |
|
64 | 151 | "additionalProperties": false, |
65 | 152 | "description": "You can validate your generate.toml against this schema with tools like tombi (https://tombi-toml.github.io/tombi/docs/linter). Requires placing a `#:schema` directive at the top of your generate.toml file.", |
66 | 153 | "properties": { |
| 154 | + "repository": { |
| 155 | + "anyOf": [ |
| 156 | + { |
| 157 | + "type": "string" |
| 158 | + }, |
| 159 | + { |
| 160 | + "type": "null" |
| 161 | + } |
| 162 | + ], |
| 163 | + "default": null, |
| 164 | + "description": "GitHub repository name (if different from driver name)", |
| 165 | + "title": "Repository" |
| 166 | + }, |
67 | 167 | "driver": { |
68 | 168 | "default": "(unknown)", |
69 | 169 | "description": "Driver name. Should be lowercase (e.g., postgresql, sqlite)", |
|
85 | 185 | }, |
86 | 186 | "private": { |
87 | 187 | "default": false, |
88 | | - "description": "Whether the driver is private. Most drivers will be non-private.", |
| 188 | + "description": "Whether the driver is private. Most drivers will be not be private so you can omit this.", |
89 | 189 | "title": "Private", |
90 | 190 | "type": "boolean" |
91 | 191 | }, |
92 | 192 | "lang": { |
93 | 193 | "additionalProperties": { |
94 | | - "type": "boolean" |
| 194 | + "anyOf": [ |
| 195 | + { |
| 196 | + "$ref": "#/$defs/LangConfig" |
| 197 | + }, |
| 198 | + { |
| 199 | + "type": "null" |
| 200 | + } |
| 201 | + ] |
95 | 202 | }, |
96 | | - "description": "Programming languages to enable workflows for. Only go is really supported right now. Keys should be lowercase. Set to true to enable, false to disable. Example:\n\n[lang]\ngo = true\npython = false", |
| 203 | + "description": "Programming language(s) to enable workflows for. Only go and rust are supported. Keys should be lowercase. Set to true to enable with default config, or false (the default) to disable. Example:\n\n[lang]\ngo = true\n\n[lang.rust.build]\nadditional-make-args = [\"example\"]", |
97 | 204 | "title": "Lang", |
98 | 205 | "type": "object" |
99 | 206 | }, |
|
108 | 215 | } |
109 | 216 | ] |
110 | 217 | }, |
111 | | - "description": "Secrets to enable in workflows. By default, no secrets are available in your generated workflows unless you specify them here.\n\nFor a secret available in all workflows, use simple syntax:\n\n[secrets]\nMY_TOKEN = \"GITHUB_SECRET_NAME\"\n\nTo restrict secrets to specific workflows, use contexts (valid values: 'build:release', 'test', 'validate'):\n\n[secrets.DB_PASSWORD]\nsecret = \"TEST_DB_SECRET\"\ncontexts = [\"test\", \"validate\"]", |
| 218 | + "description": "Secrets to enable in workflows. By default, no secrets are available in your generated workflows unless you specify them here.\n\nTo make a secret available in all workflows, use the simple syntax:\n\n[secrets]\nMY_TOKEN = \"GITHUB_SECRET_NAME\"\n\nIf you want more fine-grained control, you can restrict secrets to specific workflows. To do this, specify contexts contexts ('build:release', 'test', 'validate') like this:\n\n[secrets.DB_PASSWORD]\nsecret = \"TEST_DB_SECRET\"\ncontexts = [\"test\", \"validate\"]", |
112 | 219 | "title": "Secrets", |
113 | 220 | "type": "object" |
114 | 221 | }, |
|
122 | 229 | } |
123 | 230 | ], |
124 | 231 | "default": null, |
125 | | - "description": "Enables AWS authentication in workflows. Automatically adds AWS_ROLE and AWS_ROLE_SESSION_NAME secrets, and sets id_token permissions. Example:\n\naws.region = \"us-west-2\"\n\nOr:\n\n[aws]\nregion = \"us-west-2\"" |
| 232 | + "description": "Enables AWS authentication in workflows. Automatically adds AWS_ROLE and AWS_ROLE_SESSION_NAME secrets, and sets id_token permissions. Example:\n\n[aws]\nregion = \"us-west-2\"" |
126 | 233 | }, |
127 | 234 | "gcloud": { |
128 | 235 | "default": false, |
|
0 commit comments