Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ Unreleased

.. vendor-insert-here

- Update vendored schemas: buildkite, gitlab-ci, mergify, renovate, snapcraft
(2025-11-23)
- Update vendored schemas: bitbucket-pipelines, buildkite, circle-ci, dependabot,
gitlab-ci, mergify, readthedocs, renovate, snapcraft (2025-12-14)
- Add GitHub Discussion category forms schema and pre-commit hook. Thanks :user:`edgarrmondragon`! (:pr:`626`)

0.35.0
Expand Down

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions src/check_jsonschema/builtin_schemas/vendor/circle-ci.json
Original file line number Diff line number Diff line change
Expand Up @@ -2115,7 +2115,8 @@
"enum": [
"success",
"failed",
"canceled"
"canceled",
"not_run"
]
},
{
Expand All @@ -2126,7 +2127,8 @@
"enum": [
"success",
"failed",
"canceled"
"canceled",
"not_run"
]
}
}
Expand Down
155 changes: 155 additions & 0 deletions src/check_jsonschema/builtin_schemas/vendor/dependabot.json
Original file line number Diff line number Diff line change
Expand Up @@ -1045,6 +1045,21 @@
"versioning-strategy": {
"$ref": "#/definitions/versioning-strategy",
"description": "How to update manifest version requirements"
},
"patterns": {
"description": "Array of dependency patterns to include in a multi-ecosystem group. Required when using multi-ecosystem-group. Use '*' to include all dependencies.",
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1,
"uniqueItems": true
},
"multi-ecosystem-group": {
"description": "String identifier linking this ecosystem to a multi-ecosystem group",
"type": "string",
"minLength": 1
}
},
"allOf": [
Expand All @@ -1056,6 +1071,15 @@
{ "required": ["directories"] },
{ "required": ["directory"] }
]
},
{
"$comment": "If multi-ecosystem-group is specified, patterns is required",
"if": {
"required": ["multi-ecosystem-group"]
},
"then": {
"required": ["patterns"]
}
}
]
},
Expand Down Expand Up @@ -1132,6 +1156,129 @@
}
},
"minProperties": 1
},
"multi-ecosystem-group": {
"type": "object",
"description": "Define a group that spans multiple package ecosystems, allowing consolidated pull requests across different ecosystems",
"additionalProperties": false,
"properties": {
"schedule": {
"description": "Schedule preferences for the group",
"type": "object",
"properties": {
"interval": {
"$ref": "#/definitions/schedule-interval"
},
"day": {
"$ref": "#/definitions/schedule-day",
"description": "Specify an alternative day to check for updates"
},
"time": {
"type": "string",
"description": "Specify an alternative time of day to check for updates (format: hh:mm)",
"pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$"
},
"timezone": {
"$ref": "#/definitions/timezone",
"description": "The time zone identifier must be from the Time Zone database maintained by IANA"
},
"cronjob": {
"type": "string",
"description": "Specify a valid cron expression for updates"
}
},
"allOf": [
{
"$comment": "If interval type is 'cron', enforce 'cronjob' property.",
"if": {
"properties": {
"interval": {
"const": "cron"
}
}
},
"then": {
"required": ["interval", "cronjob"]
},
"else": {
"required": ["interval"]
}
}
]
},
"labels": {
"description": "Labels to set on pull requests (additive - merges with ecosystem-level labels)",
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 0,
"uniqueItems": true
},
"assignees": {
"description": "Assignees to set on pull requests (additive - merges with ecosystem-level assignees)",
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1,
"uniqueItems": true
},
"milestone": {
"description": "Associate all pull requests raised for this group with a milestone. You need to specify the numeric identifier of the milestone and not its label.",
"type": "integer",
"minimum": 1
},
"target-branch": {
"description": "Specify a different branch for manifest files and for pull requests.",
"type": "string",
"minLength": 1
},
"commit-message": {
"description": "Commit message preferences for the group",
"type": "object",
"properties": {
"prefix": {
"description": "A prefix for all commit messages",
"type": "string",
"maxLength": 50
},
"prefix-development": {
"description": "A separate prefix for all commit messages that update dependencies in the Development dependency group",
"type": "string",
"maxLength": 50
},
"include": {
"description": "Specifies that any prefix is followed by a list of the dependencies updated in the commit",
"type": "string",
"enum": ["scope"]
}
},
"anyOf": [
{ "required": ["prefix"] },
{ "required": ["prefix-development"] },
{ "required": ["include"] }
],
"additionalProperties": false
},
"pull-request-branch-name": {
"description": "Pull request branch name preferences for the group",
"type": "object",
"properties": {
"separator": {
"description": "Change separator for PR branch name",
"type": "string",
"default": "/",
"enum": ["-", "_", "/"]
}
},
"required": ["separator"],
"additionalProperties": false
}
},
"required": ["schedule"]
}
},
"properties": {
Expand All @@ -1155,6 +1302,14 @@
},
"registries": {
"$ref": "#/definitions/registry"
},
"multi-ecosystem-groups": {
"type": "object",
"description": "Define groups that span multiple package ecosystems, allowing consolidated pull requests across different ecosystems",
"additionalProperties": {
"$ref": "#/definitions/multi-ecosystem-group"
},
"minProperties": 1
}
},
"required": ["version", "updates"],
Expand Down
55 changes: 39 additions & 16 deletions src/check_jsonschema/builtin_schemas/vendor/gitlab-ci.json
Original file line number Diff line number Diff line change
Expand Up @@ -477,14 +477,19 @@
"if": {
"properties": {
"type": {
"enum": ["string"]
"enum": [
"string"
]
}
}
},
"then": {
"properties": {
"default": {
"type": ["string", "null"]
"type": [
"string",
"null"
]
}
}
}
Expand All @@ -493,14 +498,19 @@
"if": {
"properties": {
"type": {
"enum": ["number"]
"enum": [
"number"
]
}
}
},
"then": {
"properties": {
"default": {
"type": ["number", "null"]
"type": [
"number",
"null"
]
}
}
}
Expand All @@ -509,14 +519,19 @@
"if": {
"properties": {
"type": {
"enum": ["boolean"]
"enum": [
"boolean"
]
}
}
},
"then": {
"properties": {
"default": {
"type": ["boolean", "null"]
"type": [
"boolean",
"null"
]
}
}
}
Expand All @@ -525,7 +540,9 @@
"if": {
"properties": {
"type": {
"enum": ["array"]
"enum": [
"array"
]
}
}
},
Expand Down Expand Up @@ -566,15 +583,19 @@
"$ref": "#/definitions/baseInput"
},
{
"required": ["default"]
"required": [
"default"
]
},
{
"allOf": [
{
"if": {
"properties": {
"type": {
"enum": ["string"]
"enum": [
"string"
]
}
}
},
Expand All @@ -590,7 +611,9 @@
"if": {
"properties": {
"type": {
"enum": ["number"]
"enum": [
"number"
]
}
}
},
Expand All @@ -606,7 +629,9 @@
"if": {
"properties": {
"type": {
"enum": ["boolean"]
"enum": [
"boolean"
]
}
}
},
Expand All @@ -622,7 +647,9 @@
"if": {
"properties": {
"type": {
"enum": ["array"]
"enum": [
"array"
]
}
}
},
Expand Down Expand Up @@ -2064,10 +2091,6 @@
{
"const": "data_integrity_failure",
"description": "Retry if there is an unknown job problem."
},
{
"const": "runner_provisioning_timeout",
"description": "Retry if the runner manager did not provision a runner to pick up the job in time."
}
]
},
Expand Down
7 changes: 5 additions & 2 deletions src/check_jsonschema/builtin_schemas/vendor/mergify.json
Original file line number Diff line number Diff line change
Expand Up @@ -997,6 +997,7 @@
"type": "object"
},
"FileFilters": {
"additionalProperties": false,
"properties": {
"include": {
"description": "Glob patterns of files to include for this scope. Empty means 'include everything' before exclusions. Examples: ('src/**/*.py', 'Makefile')",
Expand Down Expand Up @@ -2423,7 +2424,7 @@
},
"batch_max_wait_time": {
"default": "30 seconds",
"description": "The maximum amount of time to wait before creating a batch when the batch is not full.",
"description": "The maximum amount of time to wait for additional pull requests before processing a batch that hasn't reached `batch_size`. The timer starts when the first pull request enters the batch. If `batch_size` is reached before this time expires, the batch processes immediately. This does not enforce a minimum delay between batches.",
"format": "duration",
"title": "Batch Max Wait Time",
"type": "string"
Expand Down Expand Up @@ -2641,7 +2642,7 @@
},
"batch_max_wait_time": {
"default": "30 seconds",
"description": "The maximum amount of time to wait before creating a batch when the batch is not full.",
"description": "The maximum amount of time to wait for additional pull requests before processing a batch that hasn't reached `batch_size`. The timer starts when the first pull request enters the batch. If `batch_size` is reached before this time expires, the batch processes immediately. This does not enforce a minimum delay between batches.",
"format": "duration",
"title": "Batch Max Wait Time",
"type": "string"
Expand Down Expand Up @@ -3050,6 +3051,7 @@
"type": "object"
},
"SourceFiles": {
"additionalProperties": false,
"properties": {
"files": {
"description": "Mapping of scope name to its file filters. A file belongs to a scope if it matches the scope's `include` patterns and not its `exclude` patterns.",
Expand All @@ -3072,6 +3074,7 @@
"type": "object"
},
"SourceManual": {
"additionalProperties": false,
"properties": {
"manual": {
"description": "Scopes are manually sent via API or `mergify scopes-send`",
Expand Down
Loading