Skip to content

Commit 7eb53ab

Browse files
authored
Merge pull request #618 from python-jsonschema/vendor-schemas-auto
Update vendored schemas
2 parents 1f3e128 + 9823d98 commit 7eb53ab

File tree

11 files changed

+215
-90
lines changed

11 files changed

+215
-90
lines changed

CHANGELOG.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ Unreleased
1313

1414
.. vendor-insert-here
1515
16-
- Update vendored schemas: circle-ci, compose-spec, dependabot, meltano, mergify,
17-
renovate, snapcraft (2025-11-02)
16+
- Update vendored schemas: bitbucket-pipelines, buildkite, circle-ci, compose-spec,
17+
dependabot, gitlab-ci, meltano, mergify, renovate, snapcraft (2025-11-11)
1818

1919
0.34.1
2020
------

src/check_jsonschema/builtin_schemas/vendor/bitbucket-pipelines.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

src/check_jsonschema/builtin_schemas/vendor/buildkite.json

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,33 @@
520520
"description": "Whether this step should be skipped. Passing a string provides a reason for skipping this command",
521521
"examples": [true, false, "My reason"]
522522
},
523+
"secrets": {
524+
"description": "A list of secret names or a mapping of environment variable names to secret names to be made available to the build or step",
525+
"anyOf": [
526+
{
527+
"type": "array",
528+
"description": "A list of secret names to be made available as environment variables",
529+
"items": {
530+
"type": "string"
531+
},
532+
"examples": [["API_ACCESS_TOKEN"], ["API_KEY", "DATABASE_PASSWORD"]]
533+
},
534+
{
535+
"type": "object",
536+
"description": "A mapping of custom environment variable names to Buildkite secret names",
537+
"additionalProperties": {
538+
"type": "string"
539+
},
540+
"examples": [
541+
{ "MY_APP_ACCESS_TOKEN": "API_ACCESS_TOKEN" },
542+
{
543+
"CUSTOM_API_KEY": "API_KEY",
544+
"CUSTOM_DB_PASSWORD": "DATABASE_PASSWORD"
545+
}
546+
]
547+
}
548+
]
549+
},
523550
"softFailObject": {
524551
"type": "object",
525552
"properties": {
@@ -1068,6 +1095,9 @@
10681095
"type": "integer",
10691096
"description": "Priority of the job, higher priorities are assigned to agents",
10701097
"examples": [-1, 1]
1098+
},
1099+
"secrets": {
1100+
"$ref": "#/definitions/secrets"
10711101
}
10721102
},
10731103
"additionalProperties": false
@@ -1352,6 +1382,9 @@
13521382
"image": {
13531383
"$ref": "#/definitions/image"
13541384
},
1385+
"secrets": {
1386+
"$ref": "#/definitions/secrets"
1387+
},
13551388
"steps": {
13561389
"$ref": "#/definitions/pipelineSteps"
13571390
}

src/check_jsonschema/builtin_schemas/vendor/gitlab-ci.json

Lines changed: 167 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"markdownDescription": "Specification for pipeline configuration. Must be declared at the top of a configuration file, in a header section separated from the rest of the configuration with `---`. [Learn More](https://docs.gitlab.com/ci/yaml/#spec).",
1414
"properties": {
1515
"inputs": {
16-
"$ref": "#/definitions/inputParameters"
16+
"$ref": "#/definitions/configInputs"
1717
}
1818
},
1919
"additionalProperties": false
@@ -403,75 +403,184 @@
403403
}
404404
]
405405
},
406-
"inputParameters": {
406+
"baseInput": {
407407
"type": "object",
408-
"markdownDescription": "Define parameters that can be populated in reusable CI/CD configuration files when added to a pipeline. [Learn More](https://docs.gitlab.com/ci/inputs/).",
408+
"properties": {
409+
"type": {
410+
"type": "string",
411+
"markdownDescription": "Input type. Defaults to 'string' when not specified.",
412+
"enum": [
413+
"array",
414+
"boolean",
415+
"number",
416+
"string"
417+
],
418+
"default": "string"
419+
},
420+
"description": {
421+
"type": "string",
422+
"markdownDescription": "Human-readable explanation of the parameter.",
423+
"maxLength": 1024
424+
},
425+
"options": {
426+
"type": "array",
427+
"markdownDescription": "List of allowed values for this input.",
428+
"items": {
429+
"oneOf": [
430+
{
431+
"type": "string"
432+
},
433+
{
434+
"type": "number"
435+
},
436+
{
437+
"type": "boolean"
438+
}
439+
]
440+
}
441+
},
442+
"regex": {
443+
"type": "string",
444+
"markdownDescription": "Regular expression that string values must match."
445+
},
446+
"default": {
447+
"markdownDescription": "Default value for this input."
448+
}
449+
},
450+
"additionalProperties": false
451+
},
452+
"configInputs": {
453+
"type": "object",
454+
"markdownDescription": "Define input parameters for reusable CI/CD configuration. Config inputs can optionally specify defaults. [Learn More](https://docs.gitlab.com/ci/inputs/).",
409455
"patternProperties": {
410456
".*": {
411-
"markdownDescription": "**Input Configuration**\n\nAvailable properties:\n- `type`: string (default), array, boolean, or number\n- `description`: Human-readable explanation of the parameter (supports Markdown)\n- `options`: List of allowed values\n- `default`: Value to use when not specified (makes input optional)\n- `regex`: Pattern that string values must match",
412457
"oneOf": [
413458
{
414-
"type": "object",
415-
"properties": {
416-
"type": {
417-
"type": "string",
418-
"markdownDescription": "Force a specific input type. Defaults to 'string' when not specified. [Learn More](https://docs.gitlab.com/ci/inputs/#input-types).",
419-
"enum": [
420-
"array",
421-
"boolean",
422-
"number",
423-
"string"
424-
],
425-
"default": "string"
459+
"allOf": [
460+
{
461+
"$ref": "#/definitions/baseInput"
426462
},
427-
"description": {
428-
"type": "string",
429-
"markdownDescription": "Give a description to a specific input. The description does not affect the input, but can help people understand the input details or expected values. Supports markdown.",
430-
"maxLength": 1024
463+
{
464+
"properties": {
465+
"rules": {
466+
"type": "array",
467+
"markdownDescription": "Conditional rules for this input.",
468+
"items": {
469+
"type": "object"
470+
}
471+
}
472+
}
431473
},
432-
"options": {
433-
"type": "array",
434-
"markdownDescription": "Specify a list of allowed values for an input.",
435-
"items": {
436-
"oneOf": [
437-
{
438-
"type": "string"
474+
{
475+
"allOf": [
476+
{
477+
"if": {
478+
"properties": {
479+
"type": {
480+
"enum": ["string"]
481+
}
482+
}
439483
},
440-
{
441-
"type": "number"
484+
"then": {
485+
"properties": {
486+
"default": {
487+
"type": ["string", "null"]
488+
}
489+
}
490+
}
491+
},
492+
{
493+
"if": {
494+
"properties": {
495+
"type": {
496+
"enum": ["number"]
497+
}
498+
}
442499
},
443-
{
444-
"type": "boolean"
500+
"then": {
501+
"properties": {
502+
"default": {
503+
"type": ["number", "null"]
504+
}
505+
}
445506
}
446-
]
447-
}
448-
},
449-
"regex": {
450-
"type": "string",
451-
"markdownDescription": "Specify a regular expression that the input must match. Only impacts inputs with a `type` of `string`."
452-
},
453-
"default": {
454-
"markdownDescription": "Define default values for inputs when not specified. When you specify a default, the inputs are no longer mandatory."
507+
},
508+
{
509+
"if": {
510+
"properties": {
511+
"type": {
512+
"enum": ["boolean"]
513+
}
514+
}
515+
},
516+
"then": {
517+
"properties": {
518+
"default": {
519+
"type": ["boolean", "null"]
520+
}
521+
}
522+
}
523+
},
524+
{
525+
"if": {
526+
"properties": {
527+
"type": {
528+
"enum": ["array"]
529+
}
530+
}
531+
},
532+
"then": {
533+
"properties": {
534+
"default": {
535+
"oneOf": [
536+
{
537+
"type": "array"
538+
},
539+
{
540+
"type": "null"
541+
}
542+
]
543+
}
544+
}
545+
}
546+
}
547+
]
455548
}
456-
},
549+
]
550+
},
551+
{
552+
"type": "null"
553+
}
554+
]
555+
}
556+
}
557+
},
558+
"jobInputs": {
559+
"type": "object",
560+
"markdownDescription": "Define input parameters for a job. Job inputs must always include a `default` value. [Learn More](https://docs.gitlab.com/ci/yaml/#inputs).",
561+
"patternProperties": {
562+
".*": {
563+
"allOf": [
564+
{
565+
"$ref": "#/definitions/baseInput"
566+
},
567+
{
568+
"required": ["default"]
569+
},
570+
{
457571
"allOf": [
458572
{
459573
"if": {
460574
"properties": {
461575
"type": {
462-
"enum": [
463-
"string"
464-
]
576+
"enum": ["string"]
465577
}
466578
}
467579
},
468580
"then": {
469581
"properties": {
470582
"default": {
471-
"type": [
472-
"string",
473-
"null"
474-
]
583+
"type": "string"
475584
}
476585
}
477586
}
@@ -480,19 +589,14 @@
480589
"if": {
481590
"properties": {
482591
"type": {
483-
"enum": [
484-
"number"
485-
]
592+
"enum": ["number"]
486593
}
487594
}
488595
},
489596
"then": {
490597
"properties": {
491598
"default": {
492-
"type": [
493-
"number",
494-
"null"
495-
]
599+
"type": "number"
496600
}
497601
}
498602
}
@@ -501,19 +605,14 @@
501605
"if": {
502606
"properties": {
503607
"type": {
504-
"enum": [
505-
"boolean"
506-
]
608+
"enum": ["boolean"]
507609
}
508610
}
509611
},
510612
"then": {
511613
"properties": {
512614
"default": {
513-
"type": [
514-
"boolean",
515-
"null"
516-
]
615+
"type": "boolean"
517616
}
518617
}
519618
}
@@ -522,32 +621,19 @@
522621
"if": {
523622
"properties": {
524623
"type": {
525-
"enum": [
526-
"array"
527-
]
624+
"enum": ["array"]
528625
}
529626
}
530627
},
531628
"then": {
532629
"properties": {
533630
"default": {
534-
"oneOf": [
535-
{
536-
"type": "array"
537-
},
538-
{
539-
"type": "null"
540-
}
541-
]
631+
"type": "array"
542632
}
543633
}
544634
}
545635
}
546-
],
547-
"additionalProperties": false
548-
},
549-
{
550-
"type": "null"
636+
]
551637
}
552638
]
553639
}
@@ -2089,6 +2175,9 @@
20892175
"identity": {
20902176
"$ref": "#/definitions/identity"
20912177
},
2178+
"inputs": {
2179+
"$ref": "#/definitions/jobInputs"
2180+
},
20922181
"secrets": {
20932182
"$ref": "#/definitions/secrets"
20942183
},

0 commit comments

Comments
 (0)