From 7cf0c2d5f0dc479609d9051d992be7b2ae832fe5 Mon Sep 17 00:00:00 2001 From: sirosen <1300022+sirosen@users.noreply.github.com> Date: Sun, 6 Sep 2026 08:34:48 +0000 Subject: [PATCH] [vendor-schemas] automated update --- CHANGELOG.rst | 4 +- .../builtin_schemas/vendor/buildkite.json | 4 +- .../builtin_schemas/vendor/changie.json | 4 +- .../builtin_schemas/vendor/circle-ci.json | 51 +- .../builtin_schemas/vendor/compose-spec.json | 1585 ++++++++---- .../builtin_schemas/vendor/dependabot.json | 18 +- .../vendor/github-actions.json | 27 +- .../vendor/github-workflows.json | 1473 +++++------ .../builtin_schemas/vendor/gitlab-ci.json | 231 +- .../builtin_schemas/vendor/mergify.json | 65 +- .../builtin_schemas/vendor/renovate.json | 2159 ++++++++++++++++- .../vendor/sha256/buildkite.sha256 | 2 +- .../vendor/sha256/changie.sha256 | 2 +- .../vendor/sha256/circle-ci.sha256 | 2 +- .../vendor/sha256/compose-spec.sha256 | 2 +- .../vendor/sha256/dependabot.sha256 | 2 +- .../vendor/sha256/github-actions.sha256 | 2 +- .../vendor/sha256/github-workflows.sha256 | 2 +- .../vendor/sha256/gitlab-ci.sha256 | 2 +- .../vendor/sha256/mergify.sha256 | 2 +- .../vendor/sha256/renovate.sha256 | 2 +- .../vendor/sha256/taskfile.sha256 | 2 +- .../vendor/sha256/travis.sha256 | 2 +- .../vendor/sha256/woodpecker-ci.sha256 | 2 +- .../builtin_schemas/vendor/taskfile.json | 87 +- .../builtin_schemas/vendor/travis.json | 47 +- .../builtin_schemas/vendor/woodpecker-ci.json | 37 +- 27 files changed, 4570 insertions(+), 1248 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 9d030bcd9..2ba859683 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -10,7 +10,9 @@ Unreleased .. vendor-insert-here -- Update vendored schemas: bitbucket-pipelines, mergify, renovate (2026-08-16) +- Update vendored schemas: bitbucket-pipelines, buildkite, changie, circle-ci, + compose-spec, dependabot, github-actions, github-workflows, gitlab-ci, mergify, + renovate, taskfile, travis, woodpecker-ci (2026-09-18) 0.38.0 ------ diff --git a/src/check_jsonschema/builtin_schemas/vendor/buildkite.json b/src/check_jsonschema/builtin_schemas/vendor/buildkite.json index 8d7260e6d..9951afaf8 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/buildkite.json +++ b/src/check_jsonschema/builtin_schemas/vendor/buildkite.json @@ -195,8 +195,8 @@ }, "commit_verification": { "type": "string", - "description": "Verify the checked-out commit is on the expected branch; strict fails the job on a definitive mismatch, warn only logs", - "enum": ["strict", "warn"] + "description": "Verify the checked-out commit is on the expected branch; strict fails the job on a definitive mismatch, warn only logs (Agent v3 only), and off disables verification (Agent v4 only)", + "enum": ["strict", "warn", "off"] }, "flags": { "type": "object", diff --git a/src/check_jsonschema/builtin_schemas/vendor/changie.json b/src/check_jsonschema/builtin_schemas/vendor/changie.json index 5b5bc4ce0..6814c69dd 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/changie.json +++ b/src/check_jsonschema/builtin_schemas/vendor/changie.json @@ -29,7 +29,7 @@ }, "type": { "type": "string", - "description": "Specifies the type of choice which changes the prompt.\n\n| value | description | options\n| -- | -- | -- |\nstring | Freeform text | [minLength](#custom-minlength) and [maxLength](#custom-maxlength)\nblock | Multiline text | [minLength](#custom-minlength) and [maxLength](#custom-maxlength)\nint | Whole numbers | [minInt](#custom-minint) and [maxInt](#custom-maxint)\nenum | Limited set of strings | [enumOptions](#custom-enumoptions) is used to specify values" + "description": "Specifies the type of choice which changes the prompt.\n\n| value | description | options\n| -- | -- | -- |\nstring | Freeform text | [minLength](#custom-minlength) and [maxLength](#custom-maxlength)\nblock | Multiline text | [minLength](#custom-minlength) and [maxLength](#custom-maxlength)\nint | Whole numbers | [minInt](#custom-minint) and [maxInt](#custom-maxint)\nenum | Limited set of strings | [enumOptions](#custom-enumoptions) is used to specify values\nenums | Multiple values from a limited set of strings | [enumOptions](#custom-enumoptions) is used to specify values" }, "optional": { "type": "boolean", @@ -60,7 +60,7 @@ "type": "string" }, "type": "array", - "description": "When using the enum type, you must also specify what possible options to allow.\nUsers will be given a selection list to select the value they want." + "description": "When using the enum or enums type, you must also specify what possible options to allow.\nUsers will be given a selection list to select the value, or values, they want." } }, "additionalProperties": false, diff --git a/src/check_jsonschema/builtin_schemas/vendor/circle-ci.json b/src/check_jsonschema/builtin_schemas/vendor/circle-ci.json index b4fef34a4..9d85f558d 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/circle-ci.json +++ b/src/check_jsonschema/builtin_schemas/vendor/circle-ci.json @@ -2,6 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "title": "CircleCI Config", "definitions": { + "stepWhen": { + "enum": [ + "always", + "on_success", + "on_fail" + ], + "markdownDescription": "Specify when to enable or disable the step. Takes the following values: `always`, `on_success`, `on_fail` (default: `on_success`)" + }, "jobInvocation": { "oneOf": [ { @@ -1196,12 +1204,7 @@ "markdownDescription": "Elapsed time the command can run without output. The string is a decimal with unit suffix, such as \"20m\", \"1.25h\", \"5s\" (default: 10 minutes)" }, "when": { - "enum": [ - "always", - "on_success", - "on_fail" - ], - "markdownDescription": "Specify when to enable or disable the step. Takes the following values: `always`, `on_success`, `on_fail` (default: `on_success`)" + "$ref": "#/definitions/stepWhen" }, "max_auto_reruns": { "type": "integer", @@ -1263,6 +1266,9 @@ "type": "integer", "minimum": 1, "markdownDescription": "The depth of the shallow clone. Only valid when `method` is set to 'shallow'. Must be a positive integer." + }, + "when": { + "$ref": "#/definitions/stepWhen" } }, "additionalProperties": false @@ -1309,6 +1315,9 @@ "type": "string" } ] + }, + "when": { + "$ref": "#/definitions/stepWhen" } }, "additionalProperties": false @@ -1339,12 +1348,7 @@ "markdownDescription": "Title of the step to be shown in the CircleCI UI (default: 'Saving Cache')" }, "when": { - "enum": [ - "always", - "on_success", - "on_fail" - ], - "markdownDescription": "Specify when to enable or disable the step. Takes the following values: `always`, `on_success`, `on_fail` (default: `on_success`)" + "$ref": "#/definitions/stepWhen" } }, "additionalProperties": false @@ -1365,6 +1369,9 @@ "name": { "type": "string", "markdownDescription": "Title of the step to be shown in the CircleCI UI (default: 'Restoring Cache')" + }, + "when": { + "$ref": "#/definitions/stepWhen" } }, "additionalProperties": false @@ -1385,6 +1392,9 @@ "name": { "type": "string", "markdownDescription": "Title of the step to be shown in the CircleCI UI (default: 'Restoring Cache')" + }, + "when": { + "$ref": "#/definitions/stepWhen" } }, "additionalProperties": false @@ -1409,6 +1419,9 @@ "name": { "type": "string", "markdownDescription": "Title of the step to be shown in the CircleCI UI" + }, + "when": { + "$ref": "#/definitions/stepWhen" } }, "additionalProperties": false @@ -1427,6 +1440,9 @@ "name": { "type": "string", "markdownDescription": "Title of the step to be shown in the CircleCI UI" + }, + "when": { + "$ref": "#/definitions/stepWhen" } }, "additionalProperties": false @@ -1453,6 +1469,9 @@ "name": { "type": "string", "markdownDescription": "Title of the step to be shown in the CircleCI UI" + }, + "when": { + "$ref": "#/definitions/stepWhen" } }, "additionalProperties": false @@ -1471,6 +1490,9 @@ "name": { "type": "string", "markdownDescription": "Title of the step to be shown in the CircleCI UI" + }, + "when": { + "$ref": "#/definitions/stepWhen" } }, "additionalProperties": false @@ -1493,6 +1515,9 @@ "type": "string" }, "markdownDescription": "List of fingerprints corresponding to the keys to be added" + }, + "when": { + "$ref": "#/definitions/stepWhen" } }, "additionalProperties": false @@ -1865,7 +1890,9 @@ "windows.gpu.nvidia.medium", "m4pro.medium", "m4pro.large", + "small.gen2", "medium.gen2", + "medium+.gen2", "large.gen2", "xlarge.gen2", "2xlarge.gen2", diff --git a/src/check_jsonschema/builtin_schemas/vendor/compose-spec.json b/src/check_jsonschema/builtin_schemas/vendor/compose-spec.json index fe0e45d68..c9db4d1cd 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/compose-spec.json +++ b/src/check_jsonschema/builtin_schemas/vendor/compose-spec.json @@ -4,19 +4,16 @@ "type": "object", "title": "Compose Specification", "description": "The Compose file is a YAML file defining a multi-containers based application.", - "properties": { "version": { "type": "string", "deprecated": true, "description": "declared for backward compatibility, ignored. Please remove it." }, - "name": { "type": "string", "description": "define the Compose project name, until user defines one explicitly." }, - "include": { "type": "array", "items": { @@ -24,7 +21,6 @@ }, "description": "compose sub-projects to be included." }, - "services": { "type": "object", "patternProperties": { @@ -35,7 +31,6 @@ "additionalProperties": false, "description": "The services that will be used by your application." }, - "models": { "type": "object", "patternProperties": { @@ -45,8 +40,6 @@ }, "description": "Language models that will be used by your application." }, - - "networks": { "type": "object", "patternProperties": { @@ -56,7 +49,6 @@ }, "description": "Networks that are shared among multiple services." }, - "volumes": { "type": "object", "patternProperties": { @@ -67,7 +59,6 @@ "additionalProperties": false, "description": "Named volumes that are shared among multiple services." }, - "secrets": { "type": "object", "patternProperties": { @@ -78,7 +69,6 @@ "additionalProperties": false, "description": "Secrets that are shared among multiple services." }, - "configs": { "type": "object", "patternProperties": { @@ -88,59 +78,29 @@ }, "additionalProperties": false, "description": "Configurations that are shared among multiple services." + }, + "jobs": { + "type": "object", + "patternProperties": { + "^[a-zA-Z0-9._-]+$": { + "$ref": "#/$defs/job" + } + }, + "additionalProperties": false, + "description": "Jobs are containers that run to completion." } }, - - "patternProperties": {"^x-": {}}, + "patternProperties": { + "^x-": {} + }, "additionalProperties": false, - "$defs": { - - "service": { + "container_spec": { "type": "object", - "description": "Configuration for a service.", + "description": "Attributes of a container specification shared by anything that runs a container: services, jobs, and run-to-completion init containers (pre_start hooks).", "properties": { - "develop": {"$ref": "#/$defs/development"}, - "deploy": {"$ref": "#/$defs/deployment"}, - "annotations": {"$ref": "#/$defs/list_or_dict"}, - "attach": {"type": ["boolean", "string"]}, - "build": { - "description": "Configuration options for building the service's image.", - "oneOf": [ - {"type": "string", "description": "Path to the build context. Can be a relative path or a URL."}, - { - "type": "object", - "properties": { - "context": {"type": "string", "description": "Path to the build context. Can be a relative path or a URL."}, - "dockerfile": {"type": "string", "description": "Name of the Dockerfile to use for building the image."}, - "dockerfile_inline": {"type": "string", "description": "Inline Dockerfile content to use instead of a Dockerfile from the build context."}, - "entitlements": {"type": "array", "items": {"type": "string"}, "description": "List of extra privileged entitlements to grant to the build process."}, - "args": {"$ref": "#/$defs/list_or_dict", "description": "Build-time variables, specified as a map or a list of KEY=VAL pairs."}, - "ssh": {"$ref": "#/$defs/list_or_dict", "description": "SSH agent socket or keys to expose to the build. Format is either a string or a list of 'default|[=|[,]]'."}, - "labels": {"$ref": "#/$defs/list_or_dict", "description": "Labels to apply to the built image."}, - "cache_from": {"type": "array", "items": {"type": "string"}, "description": "List of sources the image builder should use for cache resolution"}, - "cache_to": {"type": "array", "items": {"type": "string"}, "description": "Cache destinations for the build cache."}, - "no_cache": {"type": ["boolean", "string"], "description": "Do not use cache when building the image."}, - "no_cache_filter": {"$ref": "#/$defs/string_or_list", "description": "Do not use build cache for the specified stages."}, - "additional_contexts": {"$ref": "#/$defs/list_or_dict", "description": "Additional build contexts to use, specified as a map of name to context path or URL."}, - "network": {"type": "string", "description": "Network mode to use for the build. Options include 'default', 'none', 'host', or a network name."}, - "provenance": {"type": ["string","boolean"], "description": "Add a provenance attestation"}, - "sbom": {"type": ["string","boolean"], "description": "Add a SBOM attestation"}, - "pull": {"type": ["boolean", "string"], "description": "Always attempt to pull a newer version of the image."}, - "target": {"type": "string", "description": "Build stage to target in a multi-stage Dockerfile."}, - "shm_size": {"type": ["integer", "string"], "description": "Size of /dev/shm for the build container. A string value can use suffix like '2g' for 2 gigabytes."}, - "extra_hosts": {"$ref": "#/$defs/extra_hosts", "description": "Add hostname mappings for the build container."}, - "isolation": {"type": "string", "description": "Container isolation technology to use for the build process."}, - "privileged": {"type": ["boolean", "string"], "description": "Give extended privileges to the build container."}, - "secrets": {"$ref": "#/$defs/service_config_or_secret", "description": "Secrets to expose to the build. These are accessible at build-time."}, - "tags": {"type": "array", "items": {"type": "string"}, "description": "Additional tags to apply to the built image."}, - "ulimits": {"$ref": "#/$defs/ulimits", "description": "Override the default ulimits for the build container."}, - "platforms": {"type": "array", "items": {"type": "string"}, "description": "Platforms to build for, e.g., 'linux/amd64', 'linux/arm64', or 'windows/amd64'."} - }, - "additionalProperties": false, - "patternProperties": {"^x-": {}} - } - ] + "annotations": { + "$ref": "#/$defs/list_or_dict" }, "blkio_config": { "type": "object", @@ -149,50 +109,70 @@ "device_read_bps": { "type": "array", "description": "Limit read rate (bytes per second) from a device.", - "items": {"$ref": "#/$defs/blkio_limit"} + "items": { + "$ref": "#/$defs/blkio_limit" + } }, "device_read_iops": { "type": "array", "description": "Limit read rate (IO per second) from a device.", - "items": {"$ref": "#/$defs/blkio_limit"} + "items": { + "$ref": "#/$defs/blkio_limit" + } }, "device_write_bps": { "type": "array", "description": "Limit write rate (bytes per second) to a device.", - "items": {"$ref": "#/$defs/blkio_limit"} + "items": { + "$ref": "#/$defs/blkio_limit" + } }, "device_write_iops": { "type": "array", "description": "Limit write rate (IO per second) to a device.", - "items": {"$ref": "#/$defs/blkio_limit"} + "items": { + "$ref": "#/$defs/blkio_limit" + } }, "weight": { - "type": ["integer", "string"], + "type": [ + "integer", + "string" + ], "description": "Block IO weight (relative weight) for the service, between 10 and 1000." }, "weight_device": { "type": "array", "description": "Block IO weight (relative weight) for specific devices.", - "items": {"$ref": "#/$defs/blkio_weight"} + "items": { + "$ref": "#/$defs/blkio_weight" + } } }, "additionalProperties": false }, "cap_add": { "type": "array", - "items": {"type": "string"}, + "items": { + "type": "string" + }, "uniqueItems": true, "description": "Add Linux capabilities. For example, 'CAP_SYS_ADMIN', 'SYS_ADMIN', or 'NET_ADMIN'." }, "cap_drop": { "type": "array", - "items": {"type": "string"}, + "items": { + "type": "string" + }, "uniqueItems": true, "description": "Drop Linux capabilities. For example, 'CAP_SYS_ADMIN', 'SYS_ADMIN', or 'NET_ADMIN'." }, "cgroup": { "type": "string", - "enum": ["host", "private"], + "enum": [ + "host", + "private" + ], "description": "Specify the cgroup namespace to join. Use 'host' to use the host's cgroup namespace, or 'private' to use a private cgroup namespace." }, "cgroup_parent": { @@ -207,47 +187,71 @@ "$ref": "#/$defs/service_config_or_secret", "description": "Grant access to Configs on a per-service basis." }, - "container_name": { - "type": "string", - "description": "Specify a custom container name, rather than a generated default name.", - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+" - }, "cpu_count": { "oneOf": [ - {"type": "string"}, - {"type": "integer", "minimum": 0} + { + "type": "string" + }, + { + "type": "integer", + "minimum": 0 + } ], "description": "Number of usable CPUs." }, "cpu_percent": { "oneOf": [ - {"type": "string"}, - {"type": "integer", "minimum": 0, "maximum": 100} + { + "type": "string" + }, + { + "type": "integer", + "minimum": 0, + "maximum": 100 + } ], "description": "Percentage of CPU resources to use." }, "cpu_shares": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "CPU shares (relative weight) for the container." }, "cpu_quota": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Limit the CPU CFS (Completely Fair Scheduler) quota." }, "cpu_period": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Limit the CPU CFS (Completely Fair Scheduler) period." }, "cpu_rt_period": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Limit the CPU real-time period in microseconds or a duration." }, "cpu_rt_runtime": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Limit the CPU real-time runtime in microseconds or a duration." }, "cpus": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Number of CPUs to use. A floating-point value is supported to request partial CPUs." }, "cpuset": { @@ -272,41 +276,9 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} - }, - "depends_on": { - "oneOf": [ - {"$ref": "#/$defs/list_of_strings"}, - { - "type": "object", - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9._-]+$": { - "type": "object", - "additionalProperties": false, - "patternProperties": {"^x-": {}}, - "properties": { - "restart": { - "type": ["boolean", "string"], - "description": "Whether to restart dependent services when this service is restarted." - }, - "required": { - "type": "boolean", - "default": true, - "description": "Whether the dependency is required for the dependent service to start." - }, - "condition": { - "type": "string", - "enum": ["service_started", "service_healthy", "service_completed_successfully"], - "description": "Condition to wait for. 'service_started' waits until the service has started, 'service_healthy' waits until the service is healthy (as defined by its healthcheck), 'service_completed_successfully' waits until the service has completed successfully." - } - }, - "required": ["condition"] - } - } - } - ], - "description": "Express dependency between services. Service dependencies cause services to be started in dependency order. The dependent service will wait for the dependency to be ready before starting." + "patternProperties": { + "^x-": {} + } }, "device_cgroup_rules": { "$ref": "#/$defs/list_of_strings", @@ -317,10 +289,14 @@ "description": "List of device mappings for the container.", "items": { "oneOf": [ - {"type": "string"}, + { + "type": "string" + }, { "type": "object", - "required": ["source"], + "required": [ + "source" + ], "properties": { "source": { "type": "string", @@ -336,7 +312,9 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } } ] } @@ -347,7 +325,9 @@ }, "dns_opt": { "type": "array", - "items": {"type": "string"}, + "items": { + "type": "string" + }, "uniqueItems": true, "description": "Custom DNS options to be passed to the container's DNS resolver." }, @@ -375,64 +355,6 @@ "$ref": "#/$defs/list_or_dict", "description": "Add environment variables. You can use either an array or a list of KEY=VAL pairs." }, - "expose": { - "type": "array", - "items": { - "type": ["string", "number"] - }, - "uniqueItems": true, - "description": "Expose ports without publishing them to the host machine - they'll only be accessible to linked services." - }, - "extends": { - "oneOf": [ - {"type": "string"}, - { - "type": "object", - "properties": { - "service": { - "type": "string", - "description": "The name of the service to extend." - }, - "file": { - "type": "string", - "description": "The file path where the service to extend is defined." - } - }, - "required": ["service"], - "additionalProperties": false - } - ], - "description": "Extend another service, in the current file or another file." - }, - "provider": { - "type": "object", - "description": "Specify a service which will not be manage by Compose directly, and delegate its management to an external provider.", - "required": ["type"], - "properties": { - "type": { - "type": "string", - "description": "External component used by Compose to manage setup and teardown lifecycle of the service." - }, - "options": { - "type": "object", - "description": "Provider-specific options.", - "patternProperties": { - "^.+$": {"oneOf": [ - { "type": ["string", "number", "boolean"] }, - { "type": "array", "items": {"type": ["string", "number", "boolean"]}} - ]} - } - } - }, - "additionalProperties": false, - "patternProperties": {"^x-": {}} - }, - "external_links": { - "type": "array", - "items": {"type": "string"}, - "uniqueItems": true, - "description": "Link to services started outside this Compose application. Specify services as :." - }, "extra_hosts": { "$ref": "#/$defs/extra_hosts", "description": "Add hostname mappings to the container network interface configuration." @@ -444,15 +366,14 @@ "group_add": { "type": "array", "items": { - "type": ["string", "number"] + "type": [ + "string", + "number" + ] }, "uniqueItems": true, "description": "Add additional groups which user inside the container should be member of." }, - "healthcheck": { - "$ref": "#/$defs/healthcheck", - "description": "Configure a health check for the container to monitor its health status." - }, "hostname": { "type": "string", "description": "Define a custom hostname for the service container." @@ -462,7 +383,10 @@ "description": "Specify the image to start the container from. Can be a repository/tag, a digest, or a local image ID." }, "init": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "description": "Run as an init process inside the container that forwards signals and reaps processes." }, "ipc": { @@ -477,12 +401,6 @@ "$ref": "#/$defs/list_or_dict", "description": "Add metadata to containers using Docker labels. You can use either an array or a list." }, - "links": { - "type": "array", - "items": {"type": "string"}, - "uniqueItems": true, - "description": "Link to containers in another service. Either specify both the service name and a link alias (SERVICE:ALIAS), or just the service name." - }, "logging": { "type": "object", "description": "Logging configuration for the service.", @@ -495,31 +413,51 @@ "type": "object", "description": "Options for the logging driver.", "patternProperties": { - "^.+$": {"type": ["string", "number", "null"]} + "^.+$": { + "type": [ + "string", + "number", + "null" + ] + } } } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "mac_address": { "type": "string", "description": "Container MAC address to set." }, "mem_limit": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Memory limit for the container. A string value can use suffix like '2g' for 2 gigabytes." }, "mem_reservation": { - "type": ["string", "integer"], + "type": [ + "string", + "integer" + ], "description": "Memory reservation for the container." }, "mem_swappiness": { - "type": ["integer", "string"], + "type": [ + "integer", + "string" + ], "description": "Container memory swappiness as percentage (0 to 100)." }, "memswap_limit": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Amount of memory the container is allowed to swap to disk. Set to -1 to enable unlimited swap." }, "network_mode": { @@ -528,8 +466,11 @@ }, "models": { "oneOf": [ - {"$ref": "#/$defs/list_of_strings"}, - {"type": "object", + { + "$ref": "#/$defs/list_of_strings" + }, + { + "type": "object", "patternProperties": { "^[a-zA-Z0-9._-]+$": { "oneOf": [ @@ -546,9 +487,13 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, - {"type": "null"} + { + "type": "null" + } ] } } @@ -558,7 +503,9 @@ }, "networks": { "oneOf": [ - {"$ref": "#/$defs/list_of_strings"}, + { + "$ref": "#/$defs/list_of_strings" + }, { "type": "object", "patternProperties": { @@ -595,7 +542,12 @@ "type": "object", "description": "Driver options for this network.", "patternProperties": { - "^.+$": {"type": ["string", "number"]} + "^.+$": { + "type": [ + "string", + "number" + ] + } } }, "priority": { @@ -608,9 +560,13 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, - {"type": "null"} + { + "type": "null" + } ] } }, @@ -620,100 +576,53 @@ "description": "Networks to join, referencing entries under the top-level networks key. Can be a list of network names or a mapping of network name to network configuration." }, "oom_kill_disable": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "description": "Disable OOM Killer for the container." }, "oom_score_adj": { "oneOf": [ - {"type": "string"}, - {"type": "integer", "minimum": -1000, "maximum": 1000} + { + "type": "string" + }, + { + "type": "integer", + "minimum": -1000, + "maximum": 1000 + } ], "description": "Tune host's OOM preferences for the container (accepts -1000 to 1000)." }, "pid": { - "type": ["string", "null"], + "type": [ + "string", + "null" + ], "description": "PID mode for container." }, "pids_limit": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Tune a container's PIDs limit. Set to -1 for unlimited PIDs." }, "platform": { "type": "string", "description": "Target platform to run on, e.g., 'linux/amd64', 'linux/arm64', or 'windows/amd64'." }, - "ports": { - "type": "array", - "description": "Expose container ports. Short format ([HOST:]CONTAINER[/PROTOCOL]).", - "items": { - "oneOf": [ - {"type": "number"}, - {"type": "string"}, - { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A human-readable name for this port mapping." - }, - "mode": { - "type": "string", - "description": "The port binding mode, either 'host' for publishing a host port or 'ingress' for load balancing." - }, - "host_ip": { - "type": "string", - "description": "The host IP to bind to." - }, - "target": { - "type": ["integer", "string"], - "description": "The port inside the container." - }, - "published": { - "type": ["string", "integer"], - "description": "The publicly exposed port." - }, - "protocol": { - "type": "string", - "description": "The port protocol (tcp or udp)." - }, - "app_protocol": { - "type": "string", - "description": "Application protocol to use with the port (e.g., http, https, mysql)." - } - }, - "additionalProperties": false, - "patternProperties": {"^x-": {}} - } - ] - }, - "uniqueItems": true - }, - "pre_start": { - "type": "array", - "items": {"$ref": "#/$defs/pre_start_hook"}, - "description": "Init containers to run to completion before the service container is started. Each step runs in its own ephemeral container, in declared order; a non-zero exit fails the bring-up of the service and its dependents." - }, - "post_start": { - "type": "array", - "items": {"$ref": "#/$defs/service_hook"}, - "description": "Commands to run after the container starts. If any command fails, the container stops." - }, - "pre_stop": { - "type": "array", - "items": {"$ref": "#/$defs/service_hook"}, - "description": "Commands to run before the container stops. If any command fails, the container stop is aborted." - }, "privileged": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "description": "Give extended privileges to the service container." }, - "profiles": { - "$ref": "#/$defs/list_of_strings", - "description": "List of profiles for this service. When profiles are specified, services are only started when the profile is activated." - }, "pull_policy": { "type": "string", - "pattern": "always|never|build|if_not_present|missing|refresh|daily|weekly|every_([0-9]+[wdhms])+", + "pattern": "^(always|never|build|if_not_present|missing|refresh|daily|weekly|every_([0-9]+[wdhms])+)$", "description": "Policy for pulling images. Options include: 'always', 'never', 'if_not_present', 'missing', 'build', or time-based refresh policies." }, "pull_refresh_after": { @@ -721,29 +630,29 @@ "description": "Time after which to refresh the image. Used with pull_policy=refresh." }, "read_only": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "description": "Mount the container's filesystem as read only." }, - "restart": { - "type": "string", - "description": "Restart policy for the service container. Options include: 'no', 'always', 'on-failure', and 'unless-stopped'." - }, "runtime": { "type": "string", "description": "Runtime to use for this container, e.g., 'runc'." }, - "scale": { - "type": ["integer", "string"], - "description": "Number of containers to deploy for this service." - }, "security_opt": { "type": "array", - "items": {"type": "string"}, + "items": { + "type": "string" + }, "uniqueItems": true, "description": "Override the default labeling scheme for each container." }, "shm_size": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Size of /dev/shm. A string value can use suffix like '2g' for 2 gigabytes." }, "secrets": { @@ -754,10 +663,6 @@ "$ref": "#/$defs/list_or_dict", "description": "Kernel parameters to set in the container. You can use either an array or a list." }, - "stdin_open": { - "type": ["boolean", "string"], - "description": "Keep STDIN open even if not attached." - }, "stop_grace_period": { "type": "string", "description": "Time to wait for the container to stop gracefully before sending SIGKILL (e.g., '1s', '1m30s')." @@ -774,10 +679,6 @@ "$ref": "#/$defs/string_or_list", "description": "Mount a temporary filesystem (tmpfs) into the container. Can be a single value or a list." }, - "tty": { - "type": ["boolean", "string"], - "description": "Allocate a pseudo-TTY to service container." - }, "ulimits": { "$ref": "#/$defs/ulimits", "description": "Override the default ulimits for a container." @@ -803,14 +704,25 @@ "description": "Mount host paths or named volumes accessible to the container. Short syntax (VOLUME:CONTAINER_PATH[:MODE])", "items": { "oneOf": [ - {"type": "string"}, + { + "type": "string" + }, { "type": "object", - "required": ["type"], + "required": [ + "type" + ], "properties": { "type": { "type": "string", - "enum": ["bind", "volume", "tmpfs", "cluster", "npipe", "image"], + "enum": [ + "bind", + "volume", + "tmpfs", + "cluster", + "npipe", + "image" + ], "description": "The mount type: bind for mounting host directories, volume for named volumes, tmpfs for temporary filesystems, cluster for cluster volumes, npipe for named pipes, or image for mounting from an image." }, "source": { @@ -822,7 +734,10 @@ "description": "The path in the container where the volume is mounted." }, "read_only": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "description": "Flag to set the volume as read-only." }, "consistency": { @@ -838,22 +753,35 @@ "description": "The propagation mode for the bind mount: 'shared', 'slave', 'private', 'rshared', 'rslave', or 'rprivate'." }, "create_host_path": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "description": "Create the host path if it doesn't exist." }, "recursive": { "type": "string", - "enum": ["enabled", "disabled", "writable", "readonly"], + "enum": [ + "enabled", + "disabled", + "writable", + "readonly" + ], "description": "Recursively mount the source directory." }, "selinux": { "type": "string", - "enum": ["z", "Z"], + "enum": [ + "z", + "Z" + ], "description": "SELinux relabeling options: 'z' for shared content, 'Z' for private unshared content." } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "volume": { "type": "object", @@ -864,7 +792,10 @@ "description": "Labels to apply to the volume." }, "nocopy": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "description": "Flag to disable copying of data from a container when a volume is created." }, "subpath": { @@ -873,7 +804,9 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "tmpfs": { "type": "object", @@ -881,18 +814,28 @@ "properties": { "size": { "oneOf": [ - {"type": "integer", "minimum": 0}, - {"type": "string"} + { + "type": "integer", + "minimum": 0 + }, + { + "type": "string" + } ], "description": "Size of the tmpfs mount in bytes." }, "mode": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "File mode of the tmpfs in octal." } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "image": { "type": "object", @@ -904,11 +847,15 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } } ] }, @@ -916,7 +863,9 @@ }, "volumes_from": { "type": "array", - "items": {"type": "string"}, + "items": { + "type": "string" + }, "uniqueItems": true, "description": "Mount volumes from another service or container. Optionally specify read-only access (ro) or read-write (rw)." }, @@ -925,16 +874,273 @@ "description": "The working directory in which the entrypoint or command will be run" } }, - "patternProperties": {"^x-": {}}, - "additionalProperties": false + "patternProperties": { + "^x-": {} + } + }, + "service": { + "description": "Configuration for a service.", + "allOf": [ + { + "$ref": "#/$defs/container_spec" + }, + { + "$ref": "#/$defs/workload_spec" + } + ], + "properties": { + "deploy": { + "$ref": "#/$defs/deployment" + }, + "develop": { + "$ref": "#/$defs/development" + }, + "profiles": { + "$ref": "#/$defs/list_of_strings", + "description": "List of profiles for this service. When profiles are specified, services are only started when the profile is activated." + }, + "restart": { + "type": "string", + "description": "Restart policy for the service container. Options include: 'no', 'always', 'on-failure', and 'unless-stopped'." + }, + "scale": { + "type": [ + "integer", + "string" + ], + "description": "Number of containers to deploy for this service." + }, + "attach": { + "type": [ + "boolean", + "string" + ] + }, + "container_name": { + "type": "string", + "description": "Specify a custom container name, rather than a generated default name.", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+" + }, + "provider": { + "type": "object", + "description": "Specify a service which will not be manage by Compose directly, and delegate its management to an external provider.", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "description": "External component used by Compose to manage setup and teardown lifecycle of the service." + }, + "options": { + "type": "object", + "description": "Provider-specific options.", + "patternProperties": { + "^.+$": { + "oneOf": [ + { + "type": [ + "string", + "number", + "boolean" + ] + }, + { + "type": "array", + "items": { + "type": [ + "string", + "number", + "boolean" + ] + } + } + ] + } + } + } + }, + "additionalProperties": false, + "patternProperties": { + "^x-": {} + } + }, + "extends": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "service": { + "type": "string", + "description": "The name of the service to extend." + }, + "file": { + "type": "string", + "description": "The file path where the service to extend is defined." + } + }, + "required": [ + "service" + ], + "additionalProperties": false + } + ], + "description": "Extend another service, in the current file or another file." + }, + "links": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true, + "description": "Link to containers in another service. Either specify both the service name and a link alias (SERVICE:ALIAS), or just the service name." + }, + "external_links": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true, + "description": "Link to services started outside this Compose application. Specify services as :." + }, + "pre_start": { + "type": "array", + "items": { + "$ref": "#/$defs/pre_start_hook" + }, + "description": "Init containers to run to completion before the service container is started. Each step runs in its own ephemeral container, in declared order; a non-zero exit fails the bring-up of the service and its dependents." + }, + "post_start": { + "type": "array", + "items": { + "$ref": "#/$defs/service_hook" + }, + "description": "Commands to run after the container starts. If any command fails, the container stops." + }, + "pre_stop": { + "type": "array", + "items": { + "$ref": "#/$defs/service_hook" + }, + "description": "Commands to run before the container stops. If any command fails, the container stop is aborted." + } + }, + "unevaluatedProperties": false + }, + "job": { + "description": "Configuration for a job. Jobs are containers that run to completion.", + "allOf": [ + { + "$ref": "#/$defs/container_spec" + }, + { + "$ref": "#/$defs/workload_spec" + } + ], + "required": [ + "triggers" + ], + "properties": { + "profiles": { + "$ref": "#/$defs/list_of_strings", + "description": "List of profiles for this job. When profiles are specified, the job is only active when the profile is activated." + }, + "triggers": { + "type": "object", + "description": "Trigger conditions for the job. At least one trigger attribute must be declared. Setting manual to false forbids manual execution by an explicit run command.", + "properties": { + "manual": { + "type": [ + "boolean", + "string" + ], + "description": "Whether the job can be triggered manually by an explicit run command. Defaults to true; an explicit false forbids manual execution." + }, + "schedule": { + "type": "array", + "description": "List of schedules for the job.", + "items": { + "oneOf": [ + { + "type": "string", + "description": "Crontab expression to schedule the job (e.g. '0 * * * *' for every hour)." + }, + { + "$ref": "#/$defs/schedule" + } + ] + } + } + }, + "anyOf": [ + { + "required": [ + "manual" + ] + }, + { + "required": [ + "schedule" + ] + } + ], + "additionalProperties": false, + "patternProperties": { + "^x-": {} + } + } + }, + "unevaluatedProperties": false + }, + "schedule": { + "type": "object", + "description": "Schedule configuration for a job trigger.", + "required": [ + "cron" + ], + "properties": { + "cron": { + "type": "string", + "description": "Crontab expression to schedule the job (e.g. '0 * * * *' for every hour)." + }, + "timezone": { + "type": "string", + "description": "Timezone used to evaluate the cron expression (e.g. 'Europe/Paris'). Defaults to the platform's local timezone." + }, + "concurrency": { + "type": "string", + "enum": [ + "forbid", + "queue" + ], + "description": "Policy applied when the schedule fires while a previous run is still in progress: prevent the new run ('forbid', the default) or queue it ('queue')." + }, + "missed_fires": { + "type": "string", + "enum": [ + "one", + "skip" + ], + "description": "Policy applied to fires missed while the platform was unavailable: run a single catch-up ('one', the default) or skip them ('skip')." + } + }, + "additionalProperties": false, + "patternProperties": { + "^x-": {} + } }, - "healthcheck": { "type": "object", "description": "Configuration options to determine whether the container is healthy.", "properties": { "disable": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "description": "Disable any container-specified healthcheck. Set to true to disable." }, "interval": { @@ -942,13 +1148,23 @@ "description": "Time between running the check (e.g., '1s', '1m30s'). Default: 30s." }, "retries": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Number of consecutive failures needed to consider the container as unhealthy. Default: 3." }, "test": { "oneOf": [ - {"type": "string"}, - {"type": "array", "items": {"type": "string"}} + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } ], "description": "The test to perform to check container health. Can be a string or a list. The first item is either NONE, CMD, or CMD-SHELL. If it's CMD, the rest of the command is exec'd. If it's CMD-SHELL, the rest is run in the shell." }, @@ -966,10 +1182,15 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "development": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "description": "Development configuration for the service, used for development workflows.", "properties": { "watch": { @@ -977,7 +1198,10 @@ "description": "Configure watch mode for the service, which monitors file changes and performs actions in response.", "items": { "type": "object", - "required": ["path", "action"], + "required": [ + "path", + "action" + ], "properties": { "ignore": { "$ref": "#/$defs/string_or_list", @@ -993,7 +1217,13 @@ }, "action": { "type": "string", - "enum": ["rebuild", "sync", "restart", "sync+restart", "sync+exec"], + "enum": [ + "rebuild", + "sync", + "restart", + "sync+restart", + "sync+exec" + ], "description": "Action to take when a change is detected: rebuild the container, sync files, restart the container, sync and restart, or sync and execute a command." }, "target": { @@ -1010,15 +1240,22 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } } } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "deployment": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "description": "Deployment configuration for the service.", "properties": { "mode": { @@ -1030,7 +1267,10 @@ "description": "Endpoint mode for the service: 'vip' (default) or 'dnsrr'." }, "replicas": { - "type": ["integer", "string"], + "type": [ + "integer", + "string" + ], "description": "Number of replicas of the service container to run." }, "labels": { @@ -1042,7 +1282,10 @@ "description": "Configuration for rolling back a service update.", "properties": { "parallelism": { - "type": ["integer", "string"], + "type": [ + "integer", + "string" + ], "description": "The number of containers to rollback at a time. If set to 0, all containers rollback simultaneously." }, "delay": { @@ -1058,24 +1301,35 @@ "description": "Duration to monitor each task for failures after it is created (e.g., '1s', '1m30s')." }, "max_failure_ratio": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Failure rate to tolerate during a rollback." }, "order": { "type": "string", - "enum": ["start-first", "stop-first"], + "enum": [ + "start-first", + "stop-first" + ], "description": "Order of operations during rollbacks: 'stop-first' (default) or 'start-first'." } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "update_config": { "type": "object", "description": "Configuration for updating a service.", "properties": { "parallelism": { - "type": ["integer", "string"], + "type": [ + "integer", + "string" + ], "description": "The number of containers to update at a time." }, "delay": { @@ -1091,17 +1345,25 @@ "description": "Duration to monitor each updated task for failures after it is created (e.g., '1s', '1m30s')." }, "max_failure_ratio": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Failure rate to tolerate during an update (0 to 1)." }, "order": { "type": "string", - "enum": ["start-first", "stop-first"], + "enum": [ + "start-first", + "stop-first" + ], "description": "Order of operations during updates: 'stop-first' (default) or 'start-first'." } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "resources": { "type": "object", @@ -1112,7 +1374,10 @@ "description": "Resource limits for the service containers.", "properties": { "cpus": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Limit for how much of the available CPU resources, as number of cores, a container can use." }, "memory": { @@ -1120,19 +1385,27 @@ "description": "Limit on the amount of memory a container can allocate (e.g., '1g', '1024m')." }, "pids": { - "type": ["integer", "string"], + "type": [ + "integer", + "string" + ], "description": "Maximum number of PIDs available to the container." } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "reservations": { "type": "object", "description": "Resource reservations for the service containers.", "properties": { "cpus": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Reservation for how much of the available CPU resources, as number of cores, a container can use." }, "memory": { @@ -1149,11 +1422,15 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "restart_policy": { "type": "object", @@ -1168,7 +1445,10 @@ "description": "Delay between restart attempts (e.g., '1s', '1m30s')." }, "max_attempts": { - "type": ["integer", "string"], + "type": [ + "integer", + "string" + ], "description": "Maximum number of restart attempts before giving up." }, "window": { @@ -1177,7 +1457,9 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "placement": { "type": "object", @@ -1185,7 +1467,9 @@ "properties": { "constraints": { "type": "array", - "items": {"type": "string"}, + "items": { + "type": "string" + }, "description": "Placement constraints for the service (e.g., 'node.role==manager')." }, "preferences": { @@ -1200,22 +1484,30 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } } }, "max_replicas_per_node": { - "type": ["integer", "string"], + "type": [ + "integer", + "string" + ], "description": "Maximum number of replicas of the service." } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, - "generic_resources": { "type": "array", "description": "User-defined resources for services, allowing services to reserve specialized hardware resources.", @@ -1231,19 +1523,25 @@ "description": "Type of resource (e.g., 'GPU', 'FPGA', 'SSD')." }, "value": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "Number of resources of this kind to reserve." } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } } }, - "devices": { "type": "array", "description": "Device reservations for containers, allowing services to access specific hardware devices.", @@ -1255,7 +1553,10 @@ "description": "List of capabilities the device needs to have (e.g., 'gpu', 'compute', 'utility')." }, "count": { - "type": ["string", "integer"], + "type": [ + "string", + "integer" + ], "description": "Number of devices of this type to reserve." }, "device_ids": { @@ -1272,18 +1573,21 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}}, + "patternProperties": { + "^x-": {} + }, "required": [ "capabilities" ] } }, - "gpus": { "oneOf": [ { "type": "string", - "enum": ["all"], + "enum": [ + "all" + ], "description": "Use all available GPUs." }, { @@ -1297,7 +1601,10 @@ "description": "List of capabilities the GPU needs to have (e.g., 'compute', 'utility')." }, "count": { - "type": ["string", "integer"], + "type": [ + "string", + "integer" + ], "description": "Number of GPUs to use." }, "device_ids": { @@ -1315,15 +1622,18 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } } ] }, - "include": { "description": "Compose application or sub-projects to be included.", "oneOf": [ - {"type": "string"}, + { + "type": "string" + }, { "type": "object", "properties": { @@ -1344,9 +1654,11 @@ } ] }, - "network": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "description": "Network configuration for the Compose application.", "properties": { "name": { @@ -1361,7 +1673,12 @@ "type": "object", "description": "Specify driver-specific options defined as key/value pairs.", "patternProperties": { - "^.+$": {"type": ["string", "number"]} + "^.+$": { + "type": [ + "string", + "number" + ] + } } }, "ipam": { @@ -1394,25 +1711,41 @@ "type": "object", "description": "Auxiliary IPv4 or IPv6 addresses used by Network driver.", "additionalProperties": false, - "patternProperties": {"^.+$": {"type": "string"}} + "patternProperties": { + "^.+$": { + "type": "string" + } + } } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } } }, "options": { "type": "object", "description": "Driver-specific options for the IPAM driver.", "additionalProperties": false, - "patternProperties": {"^.+$": {"type": "string"}} + "patternProperties": { + "^.+$": { + "type": "string" + } + } } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "external": { - "type": ["boolean", "string", "object"], + "type": [ + "boolean", + "string", + "object" + ], "description": "Specifies that this network already exists and was created outside of Compose.", "properties": { "name": { @@ -1422,22 +1755,36 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "internal": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "description": "Create an externally isolated network." }, "enable_ipv4": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "description": "Enable IPv4 networking." }, "enable_ipv6": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "description": "Enable IPv6 networking." }, "attachable": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "description": "If true, standalone containers can attach to this network." }, "labels": { @@ -1446,11 +1793,15 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, - "volume": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "description": "Volume configuration for the Compose application.", "properties": { "name": { @@ -1465,11 +1816,20 @@ "type": "object", "description": "Specify driver-specific options.", "patternProperties": { - "^.+$": {"type": ["string", "number"]} + "^.+$": { + "type": [ + "string", + "number" + ] + } } }, "external": { - "type": ["boolean", "string", "object"], + "type": [ + "boolean", + "string", + "object" + ], "description": "Specifies that this volume already exists and was created outside of Compose.", "properties": { "name": { @@ -1479,7 +1839,9 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, "labels": { "$ref": "#/$defs/list_or_dict", @@ -1487,9 +1849,10 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, - "secret": { "type": "object", "description": "Secret configuration for the Compose application.", @@ -1507,7 +1870,11 @@ "description": "Path to a file containing the secret value." }, "external": { - "type": ["boolean", "string", "object"], + "type": [ + "boolean", + "string", + "object" + ], "description": "Specifies that this secret already exists and was created outside of Compose.", "properties": { "name": { @@ -1528,7 +1895,12 @@ "type": "object", "description": "Specify driver-specific options.", "patternProperties": { - "^.+$": {"type": ["string", "number"]} + "^.+$": { + "type": [ + "string", + "number" + ] + } } }, "template_driver": { @@ -1537,9 +1909,10 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, - "config": { "type": "object", "description": "Config configuration for the Compose application.", @@ -1561,7 +1934,11 @@ "description": "Path to a file containing the config value." }, "external": { - "type": ["boolean", "string", "object"], + "type": [ + "boolean", + "string", + "object" + ], "description": "Specifies that this config already exists and was created outside of Compose.", "properties": { "name": { @@ -1581,9 +1958,10 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, - "model": { "type": "object", "description": "Language Model for the Compose application.", @@ -1601,15 +1979,20 @@ }, "runtime_flags": { "type": "array", - "items": {"type": "string"}, + "items": { + "type": "string" + }, "description": "Raw runtime flags to pass to the inference engine." } }, - "required": ["model"], + "required": [ + "model" + ], "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } }, - "command": { "oneOf": [ { @@ -1631,7 +2014,6 @@ ], "description": "Command to run in the container, which can be specified as a string (shell form) or array (exec form)." }, - "service_hook": { "type": "object", "description": "Configuration for service lifecycle hooks, which are commands executed at specific points in a container's lifecycle.", @@ -1645,7 +2027,10 @@ "description": "User to run the command as." }, "privileged": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "description": "Whether to run the command with extended privileges." }, "working_dir": { @@ -1658,47 +2043,32 @@ } }, "additionalProperties": false, - "patternProperties": {"^x-": {}}, - "required": ["command"] + "patternProperties": { + "^x-": {} + }, + "required": [ + "command" + ] }, - "pre_start_hook": { "type": "object", - "description": "Configuration for a pre_start init container, run to completion before the service container starts.", + "description": "Configuration for a pre_start init container, run to completion before the service container starts. Accepts the full container specification; per #656, attributes not set explicitly are inherited from the service: collection attributes are completed by the hook's declarations (which win on conflicts), scalar attributes are replaced.", + "allOf": [ + { + "$ref": "#/$defs/container_spec" + } + ], + "unevaluatedProperties": false, "properties": { - "command": { - "$ref": "#/$defs/command", - "description": "Command to execute. Optional when the chosen image's entrypoint already runs the intended command." - }, - "image": { - "type": "string", - "description": "Image used for the ephemeral container. If omitted, the parent service's image is used." - }, - "user": { - "type": "string", - "description": "User to run the command as. Defaults to the user declared in image (or to the service's user when image is omitted)." - }, - "privileged": { - "type": ["boolean", "string"], - "description": "Whether to run the command with extended privileges." - }, - "working_dir": { - "type": "string", - "description": "Working directory for the command. Defaults to the service's working directory." - }, - "environment": { - "$ref": "#/$defs/list_or_dict", - "description": "Environment variables for the command. Appended to or overriding the service environment." - }, "per_replica": { - "type": ["boolean", "string"], - "description": "Whether the hook runs once per service replica (true), or once for the service as a whole before any replica starts (false, the default)." + "type": [ + "boolean", + "string" + ], + "description": "When true, the hook runs once per service replica instead of once per service." } - }, - "additionalProperties": false, - "patternProperties": {"^x-": {}} + } }, - "env_file": { "oneOf": [ { @@ -1728,7 +2098,10 @@ "description": "Format attribute lets you to use an alternative file formats for env_file. When not set, env_file is parsed according to Compose rules." }, "required": { - "type": ["boolean", "string"], + "type": [ + "boolean", + "string" + ], "default": true, "description": "Whether the file is required. If true and the file doesn't exist, an error will be raised." } @@ -1742,7 +2115,6 @@ } ] }, - "label_file": { "oneOf": [ { @@ -1759,7 +2131,6 @@ } ] }, - "string_or_list": { "oneOf": [ { @@ -1773,7 +2144,6 @@ ], "description": "Either a single string or a list of strings." }, - "list_of_strings": { "type": "array", "description": "A list of unique string values.", @@ -1783,7 +2153,6 @@ }, "uniqueItems": true }, - "list_or_dict": { "oneOf": [ { @@ -1791,7 +2160,12 @@ "description": "A dictionary mapping keys to values.", "patternProperties": { ".+": { - "type": ["string", "number", "boolean", "null"], + "type": [ + "string", + "number", + "boolean", + "null" + ], "description": "Value for the key, which can be a string, number, boolean, or null." } }, @@ -1809,7 +2183,6 @@ ], "description": "Either a dictionary mapping keys to values, or a list of strings." }, - "extra_hosts": { "oneOf": [ { @@ -1848,7 +2221,6 @@ ], "description": "Additional hostnames to be defined in the container's /etc/hosts file." }, - "blkio_limit": { "type": "object", "description": "Block IO limit for a specific device.", @@ -1858,7 +2230,10 @@ "description": "Path to the device (e.g., '/dev/sda')." }, "rate": { - "type": ["integer", "string"], + "type": [ + "integer", + "string" + ], "description": "Rate limit in bytes per second or IO operations per second." } }, @@ -1873,7 +2248,10 @@ "description": "Path to the device (e.g., '/dev/sda')." }, "weight": { - "type": ["integer", "string"], + "type": [ + "integer", + "string" + ], "description": "Relative weight for the device, between 10 and 1000." } }, @@ -1909,12 +2287,17 @@ "description": "GID of the file in the container. Default is 0 (root)." }, "mode": { - "type": ["number", "string"], + "type": [ + "number", + "string" + ], "description": "File permission mode inside the container, in octal. Default is 0444 for configs and 0400 for secrets." } }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } } ] } @@ -1926,7 +2309,10 @@ "^[a-z]+$": { "oneOf": [ { - "type": ["integer", "string"], + "type": [ + "integer", + "string" + ], "description": "Single value for both soft and hard limits." }, { @@ -1934,21 +2320,326 @@ "description": "Separate soft and hard limits.", "properties": { "hard": { - "type": ["integer", "string"], + "type": [ + "integer", + "string" + ], "description": "Hard limit for the ulimit type. This is the maximum allowed value." }, "soft": { - "type": ["integer", "string"], + "type": [ + "integer", + "string" + ], "description": "Soft limit for the ulimit type. This is the value that's actually enforced." } }, - "required": ["soft", "hard"], + "required": [ + "soft", + "hard" + ], + "additionalProperties": false, + "patternProperties": { + "^x-": {} + } + } + ] + } + } + }, + "workload_spec": { + "type": "object", + "description": "Container attributes meaningful for orchestrated workloads (services and jobs) but not for run-to-completion init containers: build, dependency ordering, health reporting, port exposure and interactivity.", + "properties": { + "build": { + "description": "Configuration options for building the service's image.", + "oneOf": [ + { + "type": "string", + "description": "Path to the build context. Can be a relative path or a URL." + }, + { + "type": "object", + "properties": { + "context": { + "type": "string", + "description": "Path to the build context. Can be a relative path or a URL." + }, + "dockerfile": { + "type": "string", + "description": "Name of the Dockerfile to use for building the image." + }, + "dockerfile_inline": { + "type": "string", + "description": "Inline Dockerfile content to use instead of a Dockerfile from the build context." + }, + "entitlements": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of extra privileged entitlements to grant to the build process." + }, + "args": { + "$ref": "#/$defs/list_or_dict", + "description": "Build-time variables, specified as a map or a list of KEY=VAL pairs." + }, + "ssh": { + "$ref": "#/$defs/list_or_dict", + "description": "SSH agent socket or keys to expose to the build. Format is either a string or a list of 'default|[=|[,]]'." + }, + "labels": { + "$ref": "#/$defs/list_or_dict", + "description": "Labels to apply to the built image." + }, + "cache_from": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of sources the image builder should use for cache resolution" + }, + "cache_to": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Cache destinations for the build cache." + }, + "no_cache": { + "type": [ + "boolean", + "string" + ], + "description": "Do not use cache when building the image." + }, + "no_cache_filter": { + "$ref": "#/$defs/string_or_list", + "description": "Do not use build cache for the specified stages." + }, + "additional_contexts": { + "$ref": "#/$defs/list_or_dict", + "description": "Additional build contexts to use, specified as a map of name to context path or URL." + }, + "network": { + "type": "string", + "description": "Network mode to use for the build. Options include 'default', 'none', 'host', or a network name." + }, + "provenance": { + "type": [ + "string", + "boolean" + ], + "description": "Add a provenance attestation" + }, + "sbom": { + "type": [ + "string", + "boolean" + ], + "description": "Add a SBOM attestation" + }, + "pull": { + "type": [ + "boolean", + "string" + ], + "description": "Always attempt to pull a newer version of the image." + }, + "target": { + "type": "string", + "description": "Build stage to target in a multi-stage Dockerfile." + }, + "shm_size": { + "type": [ + "integer", + "string" + ], + "description": "Size of /dev/shm for the build container. A string value can use suffix like '2g' for 2 gigabytes." + }, + "extra_hosts": { + "$ref": "#/$defs/extra_hosts", + "description": "Add hostname mappings for the build container." + }, + "isolation": { + "type": "string", + "description": "Container isolation technology to use for the build process." + }, + "privileged": { + "type": [ + "boolean", + "string" + ], + "description": "Give extended privileges to the build container." + }, + "secrets": { + "$ref": "#/$defs/service_config_or_secret", + "description": "Secrets to expose to the build. These are accessible at build-time." + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Additional tags to apply to the built image." + }, + "ulimits": { + "$ref": "#/$defs/ulimits", + "description": "Override the default ulimits for the build container." + }, + "platforms": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Platforms to build for, e.g., 'linux/amd64', 'linux/arm64', or 'windows/amd64'." + } + }, "additionalProperties": false, - "patternProperties": {"^x-": {}} + "patternProperties": { + "^x-": {} + } } ] + }, + "depends_on": { + "oneOf": [ + { + "$ref": "#/$defs/list_of_strings" + }, + { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9._-]+$": { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-": {} + }, + "properties": { + "restart": { + "type": [ + "boolean", + "string" + ], + "description": "Whether to restart dependent services when this service is restarted." + }, + "required": { + "type": "boolean", + "default": true, + "description": "Whether the dependency is required for the dependent service to start." + }, + "condition": { + "type": "string", + "enum": [ + "service_started", + "service_healthy", + "service_completed_successfully" + ], + "description": "Condition to wait for. 'service_started' waits until the service has started, 'service_healthy' waits until the service is healthy (as defined by its healthcheck), 'service_completed_successfully' waits until the service has completed successfully." + } + }, + "required": [ + "condition" + ] + } + } + } + ], + "description": "Express dependency between services. Service dependencies cause services to be started in dependency order. The dependent service will wait for the dependency to be ready before starting." + }, + "healthcheck": { + "$ref": "#/$defs/healthcheck", + "description": "Configure a health check for the container to monitor its health status." + }, + "ports": { + "type": "array", + "description": "Expose container ports. Short format ([HOST:]CONTAINER[/PROTOCOL]).", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A human-readable name for this port mapping." + }, + "mode": { + "type": "string", + "description": "The port binding mode, either 'host' for publishing a host port or 'ingress' for load balancing." + }, + "host_ip": { + "type": "string", + "description": "The host IP to bind to." + }, + "target": { + "type": [ + "integer", + "string" + ], + "description": "The port inside the container." + }, + "published": { + "type": [ + "string", + "integer" + ], + "description": "The publicly exposed port." + }, + "protocol": { + "type": "string", + "description": "The port protocol (tcp or udp)." + }, + "app_protocol": { + "type": "string", + "description": "Application protocol to use with the port (e.g., http, https, mysql)." + } + }, + "additionalProperties": false, + "patternProperties": { + "^x-": {} + } + } + ] + }, + "uniqueItems": true + }, + "expose": { + "type": "array", + "items": { + "type": [ + "string", + "number" + ] + }, + "uniqueItems": true, + "description": "Expose ports without publishing them to the host machine - they'll only be accessible to linked services." + }, + "stdin_open": { + "type": [ + "boolean", + "string" + ], + "description": "Keep STDIN open even if not attached." + }, + "tty": { + "type": [ + "boolean", + "string" + ], + "description": "Allocate a pseudo-TTY to service container." } + }, + "patternProperties": { + "^x-": {} } } } -} +} \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/dependabot.json b/src/check_jsonschema/builtin_schemas/vendor/dependabot.json index 7d5896fd1..1184c6f76 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/dependabot.json +++ b/src/check_jsonschema/builtin_schemas/vendor/dependabot.json @@ -613,10 +613,10 @@ "description": "All explicitly defined dependencies." }, "indirect": { - "description": "Dependencies of direct dependencies (also known as sub-dependencies, or transient dependencies)." + "description": "Dependencies of direct dependencies (also known as sub-dependencies, or transitive dependencies). Supported by bundler, pip, composer, cargo, gomod, and uv." }, "all": { - "description": "All explicitly defined dependencies. For bundler, pip, composer, cargo, also the dependencies of direct dependencies." + "description": "All explicitly defined dependencies. For bundler, pip, composer, cargo, gomod, and uv, also the dependencies of direct dependencies." }, "production": { "description": "Only dependencies in the 'Product dependency group'." @@ -1214,20 +1214,6 @@ "required": ["directory"] } ] - }, - { - "$comment": "If multi-ecosystem-group is specified, patterns is required", - "if": { - "required": ["multi-ecosystem-group"] - }, - "then": { - "properties": { - "patterns": { - "$ref": "#/definitions/update/properties/patterns" - } - }, - "required": ["patterns"] - } } ] }, diff --git a/src/check_jsonschema/builtin_schemas/vendor/github-actions.json b/src/check_jsonschema/builtin_schemas/vendor/github-actions.json index e2acfbd8c..83068c489 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/github-actions.json +++ b/src/check_jsonschema/builtin_schemas/vendor/github-actions.json @@ -172,10 +172,32 @@ }, "oneOf": [ { - "required": ["run", "shell"] + "anyOf": [ + { + "not": { + "properties": { + "run": true + }, + "required": ["run"] + } + }, + { + "not": { + "properties": { + "shell": true + }, + "required": ["shell"] + } + } + ] }, { - "required": ["uses"] + "not": { + "properties": { + "uses": true + }, + "required": ["uses"] + } } ], "additionalProperties": false @@ -318,6 +340,7 @@ "if": { "properties": { "runs": { + "type": "object", "properties": { "using": { "const": "composite" diff --git a/src/check_jsonschema/builtin_schemas/vendor/github-workflows.json b/src/check_jsonschema/builtin_schemas/vendor/github-workflows.json index a36b0b036..aee635022 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/github-workflows.json +++ b/src/check_jsonschema/builtin_schemas/vendor/github-workflows.json @@ -13,6 +13,12 @@ "$ref": "#/definitions/globs", "description": "When using the push and pull_request events, you can configure a workflow to run on specific branches or tags. If you only define only tags or only branches, the workflow won't run for events affecting the undefined Git ref.\nThe branches, branches-ignore, tags, and tags-ignore keywords accept glob patterns that use the * and ** wildcard characters to match more than one branch or tag name. For more information, see https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet.\nThe patterns defined in branches and tags are evaluated against the Git ref's name. For example, defining the pattern mona/octocat in branches will match the refs/heads/mona/octocat Git ref. The pattern releases/** will match the refs/heads/releases/10 Git ref.\nYou can use two types of filters to prevent a workflow from running on pushes and pull requests to tags and branches:\n- branches or branches-ignore - You cannot use both the branches and branches-ignore filters for the same event in a workflow. Use the branches filter when you need to filter branches for positive matches and exclude branches. Use the branches-ignore filter when you only need to exclude branch names.\n- tags or tags-ignore - You cannot use both the tags and tags-ignore filters for the same event in a workflow. Use the tags filter when you need to filter tags for positive matches and exclude tags. Use the tags-ignore filter when you only need to exclude tag names.\nYou can exclude tags and branches using the ! character. The order that you define patterns matters.\n- A matching negative pattern (prefixed with !) after a positive match will exclude the Git ref.\n- A matching positive pattern after a negative match will include the Git ref again." }, + "cacheMode": { + "$comment": "https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#cache-mode", + "description": "Controls the level of GitHub Actions cache access granted to a workflow or job.", + "type": "string", + "enum": ["read", "write", "write-only", "none"] + }, "concurrency": { "type": "object", "properties": { @@ -261,7 +267,8 @@ "$ref": "#/definitions/permissions-level" }, "id-token": { - "$ref": "#/definitions/permissions-level" + "type": "string", + "enum": ["write", "none"] }, "issues": { "$ref": "#/definitions/permissions-level" @@ -287,6 +294,14 @@ }, "statuses": { "$ref": "#/definitions/permissions-level" + }, + "vulnerability-alerts": { + "type": "string", + "enum": ["read", "none"] + }, + "copilot-requests": { + "type": "string", + "enum": ["write"] } } }, @@ -394,13 +409,13 @@ "eventObject": { "oneOf": [ { - "type": "object" + "type": "object", + "additionalProperties": true }, { "type": "null" } - ], - "additionalProperties": true + ] }, "expressionSyntax": { "$comment": "escape `{` and `}` in pattern to be unicode compatible (#1360)", @@ -484,21 +499,45 @@ }, "oneOf": [ { + "type": "object", + "properties": { + "uses": true + }, "required": ["uses"] }, { + "type": "object", + "properties": { + "run": true + }, "required": ["run"] }, { + "type": "object", + "properties": { + "wait": true + }, "required": ["wait"] }, { + "type": "object", + "properties": { + "wait-all": true + }, "required": ["wait-all"] }, { + "type": "object", + "properties": { + "cancel": true + }, "required": ["cancel"] }, { + "type": "object", + "properties": { + "parallel": true + }, "required": ["parallel"] } ], @@ -511,7 +550,17 @@ "if": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsif", "description": "You can use the if conditional to prevent a step from running unless a condition is met. You can use any supported context and expression to create a conditional.\nExpressions in an if conditional do not require the ${{ }} syntax. For more information, see https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions.", - "type": ["boolean", "number", "string"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] }, "name": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsname", @@ -538,16 +587,24 @@ "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswith", "$ref": "#/definitions/env", "description": "A map of the input parameters defined by the action. Each input parameter is a key/value pair. Input parameters are set as environment variables. The variable is prefixed with INPUT_ and converted to upper case.", - "properties": { - "args": { - "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswithargs", - "type": "string" + "anyOf": [ + { + "$ref": "#/definitions/env" }, - "entrypoint": { - "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswithentrypoint", - "type": "string" + { + "type": "object", + "properties": { + "args": { + "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswithargs", + "type": "string" + }, + "entrypoint": { + "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswithentrypoint", + "type": "string" + } + } } - } + ] }, "env": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsenv", @@ -603,7 +660,14 @@ "wait-all": { "$comment": "https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepswait-all", "description": "Pauses the job until all active background steps complete. The wait-all keyword takes no arguments.", - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "cancel": { "$comment": "https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepscancel", @@ -718,10 +782,23 @@ "permissions": { "$ref": "#/definitions/permissions" }, + "cache-mode": { + "$ref": "#/definitions/cacheMode" + }, "if": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idif", "description": "You can use the if conditional to prevent a job from running unless a condition is met. You can use any supported context and expression to create a conditional.\nExpressions in an if conditional do not require the ${{ }} syntax. For more information, see https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions.", - "type": ["boolean", "number", "string"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] }, "uses": { "$comment": "https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_iduses", @@ -758,13 +835,27 @@ "fail-fast": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast", "description": "When set to true, GitHub cancels all in-progress jobs if any matrix job fails. Default: true", - "type": ["boolean", "string"], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], "default": true }, "max-parallel": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymax-parallel", "description": "The maximum number of jobs that can run simultaneously when using a matrix job strategy. By default, GitHub will maximize the number of jobs run in parallel depending on the available runners on GitHub-hosted virtual machines.", - "type": ["number", "string"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] } }, "required": ["matrix"], @@ -805,6 +896,9 @@ "permissions": { "$ref": "#/definitions/permissions" }, + "cache-mode": { + "$ref": "#/definitions/cacheMode" + }, "runs-on": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idruns-on", "description": "The type of machine to run the job on. The machine can be either a GitHub-hosted runner, or a self-hosted runner.", @@ -818,15 +912,10 @@ "type": "array", "anyOf": [ { - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "additionalItems": { + "items": { "type": "string" - } + }, + "minItems": 1 } ] }, @@ -894,7 +983,17 @@ "if": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idif", "description": "You can use the if conditional to prevent a job from running unless a condition is met. You can use any supported context and expression to create a conditional.\nExpressions in an if conditional do not require the ${{ }} syntax. For more information, see https://help.github.com/en/articles/contexts-and-expression-syntax-for-github-actions.", - "type": ["boolean", "number", "string"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] }, "steps": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idsteps", @@ -929,13 +1028,27 @@ "fail-fast": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast", "description": "When set to true, GitHub cancels all in-progress jobs if any matrix job fails. Default: true", - "type": ["boolean", "string"], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ], "default": true }, "max-parallel": { "$comment": "https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymax-parallel", "description": "The maximum number of jobs that can run simultaneously when using a matrix job strategy. By default, GitHub will maximize the number of jobs run in parallel depending on the available runners on GitHub-hosted virtual machines.", - "type": ["number", "string"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] } }, "required": ["matrix"], @@ -1028,87 +1141,66 @@ "minItems": 1 } }, - "allOf": [ + "oneOf": [ { - "if": { - "properties": { - "type": { - "const": "string" - } + "type": "object", + "properties": { + "type": { + "const": "string" }, - "required": ["type"] - }, - "then": { - "properties": { - "default": { - "type": "string" - } + "default": { + "type": "string" } - } + }, + "required": ["type"] }, { - "if": { - "properties": { - "type": { - "const": "boolean" - } + "type": "object", + "properties": { + "type": { + "const": "boolean" }, - "required": ["type"] - }, - "then": { - "properties": { - "default": { - "type": "boolean" - } + "default": { + "type": "boolean" } - } + }, + "required": ["type"] }, { - "if": { - "properties": { - "type": { - "const": "number" - } + "type": "object", + "properties": { + "type": { + "const": "number" }, - "required": ["type"] - }, - "then": { - "properties": { - "default": { - "type": "number" - } + "default": { + "type": "number" } - } + }, + "required": ["type"] }, { - "if": { - "properties": { - "type": { - "const": "environment" - } + "type": "object", + "properties": { + "type": { + "const": "environment" }, - "required": ["type"] - }, - "then": { - "properties": { - "default": { - "type": "string" - } + "default": { + "type": "string" } - } + }, + "required": ["type"] }, { - "if": { - "properties": { - "type": { - "const": "choice" - } + "type": "object", + "properties": { + "type": { + "const": "choice" }, - "required": ["type"] + "options": { + "$ref": "#/definitions/workflowDispatchInput/properties/options" + } }, - "then": { - "required": ["options"] - } + "required": ["type", "options"] } ], "additionalProperties": false @@ -1139,477 +1231,472 @@ "properties": { "branch_protection_rule": { "$comment": "https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows#branch_protection_rule", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the branch_protection_rule event occurs. More than one activity type triggers this event.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["created", "edited", "deleted"] + }, + "default": ["created", "edited", "deleted"] } - ], - "items": { - "type": "string", - "enum": ["created", "edited", "deleted"] - }, - "default": ["created", "edited", "deleted"] + } } - } + ] }, "check_run": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#check-run-event-check_run", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the check_run event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/checks/runs.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "created", + "rerequested", + "completed", + "requested_action" + ] + }, + "default": [ + "created", + "rerequested", + "completed", + "requested_action" + ] } - ], - "items": { - "type": "string", - "enum": [ - "created", - "rerequested", - "completed", - "requested_action" - ] - }, - "default": [ - "created", - "rerequested", - "completed", - "requested_action" - ] + } } - } + ] }, "check_suite": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#check-suite-event-check_suite", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the check_suite event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/checks/suites/.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["completed", "requested", "rerequested"] + }, + "default": ["completed", "requested", "rerequested"] } - ], - "items": { - "type": "string", - "enum": ["completed", "requested", "rerequested"] - }, - "default": ["completed", "requested", "rerequested"] + } } - } + ] }, "create": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#create-event-create", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime someone creates a branch or tag, which triggers the create event. For information about the REST API, see https://developer.github.com/v3/git/refs/#create-a-reference." }, "delete": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#delete-event-delete", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime someone deletes a branch or tag, which triggers the delete event. For information about the REST API, see https://developer.github.com/v3/git/refs/#delete-a-reference." }, "deployment": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#deployment-event-deployment", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime someone creates a deployment, which triggers the deployment event. Deployments created with a commit SHA may not have a Git ref. For information about the REST API, see https://developer.github.com/v3/repos/deployments/." }, "deployment_status": { "$comment": "https://docs.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime a third party provides a deployment status, which triggers the deployment_status event. Deployments created with a commit SHA may not have a Git ref. For information about the REST API, see https://developer.github.com/v3/repos/deployments/#create-a-deployment-status." }, "discussion": { "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#discussion", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the discussion event occurs. More than one activity type triggers this event. For information about the GraphQL API, see https://docs.github.com/en/graphql/guides/using-the-graphql-api-for-discussions", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], - "items": { - "type": "string", - "enum": [ - "created", - "edited", - "deleted", - "transferred", - "pinned", - "unpinned", - "labeled", - "unlabeled", - "locked", - "unlocked", - "category_changed", - "answered", - "unanswered" - ] - }, - "default": [ - "created", - "edited", - "deleted", - "transferred", - "pinned", - "unpinned", - "labeled", - "unlabeled", - "locked", - "unlocked", - "category_changed", - "answered", - "unanswered" - ] - } - } - }, - "discussion_comment": { - "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#discussion_comment", - "allOf": [ + "oneOf": [ { - "$ref": "#/definitions/eventObject" - } - ], + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "created", + "edited", + "deleted", + "transferred", + "pinned", + "unpinned", + "labeled", + "unlabeled", + "locked", + "unlocked", + "category_changed", + "answered", + "unanswered" + ] + }, + "default": [ + "created", + "edited", + "deleted", + "transferred", + "pinned", + "unpinned", + "labeled", + "unlabeled", + "locked", + "unlocked", + "category_changed", + "answered", + "unanswered" + ] + } + } + } + ] + }, + "discussion_comment": { + "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#discussion_comment", + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the discussion_comment event occurs. More than one activity type triggers this event. For information about the GraphQL API, see https://docs.github.com/en/graphql/guides/using-the-graphql-api-for-discussions", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["created", "edited", "deleted"] + }, + "default": ["created", "edited", "deleted"] } - ], - "items": { - "type": "string", - "enum": ["created", "edited", "deleted"] - }, - "default": ["created", "edited", "deleted"] + } } - } + ] }, "fork": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#fork-event-fork", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime when someone forks a repository, which triggers the fork event. For information about the REST API, see https://developer.github.com/v3/repos/forks/#create-a-fork." }, "gollum": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#gollum-event-gollum", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow when someone creates or updates a Wiki page, which triggers the gollum event." }, "issue_comment": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#issue-comment-event-issue_comment", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the issue_comment event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/issues/comments/.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["created", "edited", "deleted"] + }, + "default": ["created", "edited", "deleted"] } - ], - "items": { - "type": "string", - "enum": ["created", "edited", "deleted"] - }, - "default": ["created", "edited", "deleted"] + } } - } + ] }, "issues": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#issues-event-issues", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the issues event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/issues.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "opened", + "edited", + "deleted", + "transferred", + "pinned", + "unpinned", + "closed", + "reopened", + "assigned", + "unassigned", + "labeled", + "unlabeled", + "locked", + "unlocked", + "milestoned", + "demilestoned", + "typed", + "untyped", + "field_added", + "field_removed" + ] + }, + "default": [ + "opened", + "edited", + "deleted", + "transferred", + "pinned", + "unpinned", + "closed", + "reopened", + "assigned", + "unassigned", + "labeled", + "unlabeled", + "locked", + "unlocked", + "milestoned", + "demilestoned", + "typed", + "untyped", + "field_added", + "field_removed" + ] } - ], - "items": { - "type": "string", - "enum": [ - "opened", - "edited", - "deleted", - "transferred", - "pinned", - "unpinned", - "closed", - "reopened", - "assigned", - "unassigned", - "labeled", - "unlabeled", - "locked", - "unlocked", - "milestoned", - "demilestoned" - ] - }, - "default": [ - "opened", - "edited", - "deleted", - "transferred", - "pinned", - "unpinned", - "closed", - "reopened", - "assigned", - "unassigned", - "labeled", - "unlabeled", - "locked", - "unlocked", - "milestoned", - "demilestoned" - ] + } } - } + ] }, "label": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#label-event-label", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the label event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/issues/labels/.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["created", "edited", "deleted"] + }, + "default": ["created", "edited", "deleted"] } - ], - "items": { - "type": "string", - "enum": ["created", "edited", "deleted"] - }, - "default": ["created", "edited", "deleted"] + } } - } + ] }, "merge_group": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#merge_group", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow when a pull request is added to a merge queue, which adds the pull request to a merge group. For information about the merge queue, see https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue .", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["checks_requested"] + }, + "default": ["checks_requested"] } - ], - "items": { - "type": "string", - "enum": ["checks_requested"] - }, - "default": ["checks_requested"] + } } - } + ] }, "milestone": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#milestone-event-milestone", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the milestone event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/issues/milestones/.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "created", + "closed", + "opened", + "edited", + "deleted" + ] + }, + "default": [ + "created", + "closed", + "opened", + "edited", + "deleted" + ] } - ], - "items": { - "type": "string", - "enum": ["created", "closed", "opened", "edited", "deleted"] - }, - "default": [ - "created", - "closed", - "opened", - "edited", - "deleted" - ] + } } - } + ] }, "page_build": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#page-build-event-page_build", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime someone pushes to a GitHub Pages-enabled branch, which triggers the page_build event. For information about the REST API, see https://developer.github.com/v3/repos/pages/." }, "project": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#project-event-project", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the project event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/projects/.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "created", + "updated", + "closed", + "reopened", + "edited", + "deleted" + ] + }, + "default": [ + "created", + "updated", + "closed", + "reopened", + "edited", + "deleted" + ] } - ], - "items": { - "type": "string", - "enum": [ - "created", - "updated", - "closed", - "reopened", - "edited", - "deleted" - ] - }, - "default": [ - "created", - "updated", - "closed", - "reopened", - "edited", - "deleted" - ] + } } - } + ] }, "project_card": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#project-card-event-project_card", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the project_card event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/projects/cards.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "created", + "moved", + "converted", + "edited", + "deleted" + ] + }, + "default": [ + "created", + "moved", + "converted", + "edited", + "deleted" + ] } - ], - "items": { - "type": "string", - "enum": [ - "created", - "moved", - "converted", - "edited", - "deleted" - ] - }, - "default": [ - "created", - "moved", - "converted", - "edited", - "deleted" - ] + } } - } + ] }, "project_column": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#project-column-event-project_column", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the project_column event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/projects/columns.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["created", "updated", "moved", "deleted"] + }, + "default": ["created", "updated", "moved", "deleted"] } - ], - "items": { - "type": "string", - "enum": ["created", "updated", "moved", "deleted"] - }, - "default": ["created", "updated", "moved", "deleted"] + } } - } + ] }, "public": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#public-event-public", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime someone makes a private repository public, which triggers the public event. For information about the REST API, see https://developer.github.com/v3/repos/#edit." }, "pull_request": { @@ -1625,11 +1712,8 @@ "type": "object", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": [ @@ -1681,16 +1765,19 @@ }, { "not": { + "type": "object", "required": ["branches", "branches-ignore"] } }, { "not": { + "type": "object", "required": ["tags", "tags-ignore"] } }, { "not": { + "type": "object", "required": ["paths", "paths-ignore"] } } @@ -1700,49 +1787,51 @@ }, "pull_request_review": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#pull-request-review-event-pull_request_review", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the pull_request_review event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/pulls/reviews.\nNote: Workflows do not run on private base repositories when you open a pull request from a forked repository.\nWhen you create a pull request from a forked repository to the base repository, GitHub sends the pull_request event to the base repository and no pull request events occur on the forked repository.\nWorkflows don't run on forked repositories by default. You must enable GitHub Actions in the Actions tab of the forked repository.\nThe permissions for the GITHUB_TOKEN in forked repositories is read-only. For more information about the GITHUB_TOKEN, see https://help.github.com/en/articles/virtual-environments-for-github-actions.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["submitted", "edited", "dismissed"] + }, + "default": ["submitted", "edited", "dismissed"] } - ], - "items": { - "type": "string", - "enum": ["submitted", "edited", "dismissed"] - }, - "default": ["submitted", "edited", "dismissed"] + } } - } + ] }, "pull_request_review_comment": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#pull-request-review-comment-event-pull_request_review_comment", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime a comment on a pull request's unified diff is modified, which triggers the pull_request_review_comment event. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/pulls/comments.\nNote: Workflows do not run on private base repositories when you open a pull request from a forked repository.\nWhen you create a pull request from a forked repository to the base repository, GitHub sends the pull_request event to the base repository and no pull request events occur on the forked repository.\nWorkflows don't run on forked repositories by default. You must enable GitHub Actions in the Actions tab of the forked repository.\nThe permissions for the GITHUB_TOKEN in forked repositories is read-only. For more information about the GITHUB_TOKEN, see https://help.github.com/en/articles/virtual-environments-for-github-actions.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["created", "edited", "deleted"] + }, + "default": ["created", "edited", "deleted"] } - ], - "items": { - "type": "string", - "enum": ["created", "edited", "deleted"] - }, - "default": ["created", "edited", "deleted"] + } } - } + ] }, "pull_request_target": { "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request_target", @@ -1757,11 +1846,8 @@ "type": "object", "properties": { "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], + "$ref": "#/definitions/types", + "type": "array", "items": { "type": "string", "enum": [ @@ -1809,16 +1895,19 @@ }, { "not": { + "type": "object", "required": ["branches", "branches-ignore"] } }, { "not": { + "type": "object", "required": ["tags", "tags-ignore"] } }, { "not": { + "type": "object", "required": ["paths", "paths-ignore"] } } @@ -1861,16 +1950,19 @@ }, { "not": { + "type": "object", "required": ["branches", "branches-ignore"] } }, { "not": { + "type": "object", "required": ["tags", "tags-ignore"] } }, { "not": { + "type": "object", "required": ["paths", "paths-ignore"] } } @@ -1880,236 +1972,256 @@ }, "registry_package": { "$comment": "https://help.github.com/en/actions/reference/events-that-trigger-workflows#registry-package-event-registry_package", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime a package is published or updated. For more information, see https://help.github.com/en/github/managing-packages-with-github-packages.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["published", "updated"] + }, + "default": ["published", "updated"] } - ], - "items": { - "type": "string", - "enum": ["published", "updated"] - }, - "default": ["published", "updated"] + } } - } + ] }, "release": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#release-event-release", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the release event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/repos/releases/ in the GitHub Developer documentation.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" + "oneOf": [ + { + "type": "null" + }, + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": [ + "published", + "unpublished", + "created", + "edited", + "deleted", + "prereleased", + "released" + ] + }, + "default": [ + "published", + "unpublished", + "created", + "edited", + "deleted", + "prereleased", + "released" + ] } - ], - "items": { - "type": "string", - "enum": [ - "published", - "unpublished", - "created", - "edited", - "deleted", - "prereleased", - "released" - ] - }, - "default": [ - "published", - "unpublished", - "created", - "edited", - "deleted", - "prereleased", - "released" - ] + } } - } + ] }, "status": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#status-event-status", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the status of a Git commit changes, which triggers the status event. For information about the REST API, see https://developer.github.com/v3/repos/statuses/." }, "watch": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#watch-event-watch", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "Runs your workflow anytime the watch event occurs. More than one activity type triggers this event. For information about the REST API, see https://developer.github.com/v3/activity/starring/." }, "workflow_call": { "$comment": "https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows#workflow_call", "description": "Allows workflows to be reused by other workflows.", - "properties": { - "inputs": { - "$comment": "https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#onworkflow_callinputs", - "description": "When using the workflow_call keyword, you can optionally specify inputs that are passed to the called workflow from the caller workflow.", + "oneOf": [ + { + "type": "null" + }, + { "type": "object", - "patternProperties": { - "^[_a-zA-Z][a-zA-Z0-9_-]*$": { - "$comment": "https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#inputsinput_id", - "description": "A string identifier to associate with the input. The value of is a map of the input's metadata. The must be a unique identifier within the inputs object. The must start with a letter or _ and contain only alphanumeric characters, -, or _.", + "properties": { + "inputs": { + "$comment": "https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#onworkflow_callinputs", + "description": "When using the workflow_call keyword, you can optionally specify inputs that are passed to the called workflow from the caller workflow.", "type": "object", - "properties": { - "description": { - "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputsinput_iddescription", - "description": "A string description of the input parameter.", - "type": "string" - }, - "required": { - "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputsinput_idrequired", - "description": "A boolean to indicate whether the action requires the input parameter. Set to true when the parameter is required.", - "type": "boolean" - }, - "type": { - "$comment": "https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_callinput_idtype", - "description": "Required if input is defined for the on.workflow_call keyword. The value of this parameter is a string specifying the data type of the input. This must be one of: boolean, number, or string.", - "type": "string", - "enum": ["boolean", "number", "string"] - }, - "default": { - "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputsinput_iddefault", - "description": "The default value is used when an input parameter isn't specified in a workflow file.", - "type": ["boolean", "number", "string"] + "patternProperties": { + "^[_a-zA-Z][a-zA-Z0-9_-]*$": { + "$comment": "https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#inputsinput_id", + "description": "A string identifier to associate with the input. The value of is a map of the input's metadata. The must be a unique identifier within the inputs object. The must start with a letter or _ and contain only alphanumeric characters, -, or _.", + "type": "object", + "properties": { + "description": { + "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputsinput_iddescription", + "description": "A string description of the input parameter.", + "type": "string" + }, + "required": { + "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputsinput_idrequired", + "description": "A boolean to indicate whether the action requires the input parameter. Set to true when the parameter is required.", + "type": "boolean" + }, + "type": { + "$comment": "https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_callinput_idtype", + "description": "Required if input is defined for the on.workflow_call keyword. The value of this parameter is a string specifying the data type of the input. This must be one of: boolean, number, or string.", + "type": "string", + "enum": ["boolean", "number", "string"] + }, + "default": { + "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputsinput_iddefault", + "description": "The default value is used when an input parameter isn't specified in a workflow file.", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + } + }, + "required": ["type"], + "additionalProperties": false } }, - "required": ["type"], "additionalProperties": false - } - }, - "additionalProperties": false - }, - "outputs": { - "$comment": "https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#onworkflow_calloutputs", - "description": "When using the workflow_call keyword, you can optionally specify inputs that are passed to the called workflow from the caller workflow.", - "type": "object", - "patternProperties": { - "^[_a-zA-Z][a-zA-Z0-9_-]*$": { - "$comment": "https://docs.github.com/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions#outputsoutput_id", - "description": "A string identifier to associate with the output. The value of is a map of the output's metadata. The must be a unique identifier within the outputs object. The must start with a letter or _ and contain only alphanumeric characters, -, or _.", + }, + "outputs": { + "$comment": "https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#onworkflow_calloutputs", + "description": "When using the workflow_call keyword, you can optionally specify inputs that are passed to the called workflow from the caller workflow.", "type": "object", - "properties": { - "description": { - "$comment": "https://docs.github.com/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions#outputsoutput_iddescription", - "description": "A string description of the output parameter.", - "type": "string" - }, - "value": { - "$comment": "https://docs.github.com/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions#outputsoutput_idvalue", - "description": "The value that the output parameter will be mapped to. You can set this to a string or an expression with context. For example, you can use the steps context to set the value of an output to the output value of a step.", - "type": "string" + "patternProperties": { + "^[_a-zA-Z][a-zA-Z0-9_-]*$": { + "$comment": "https://docs.github.com/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions#outputsoutput_id", + "description": "A string identifier to associate with the output. The value of is a map of the output's metadata. The must be a unique identifier within the outputs object. The must start with a letter or _ and contain only alphanumeric characters, -, or _.", + "type": "object", + "properties": { + "description": { + "$comment": "https://docs.github.com/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions#outputsoutput_iddescription", + "description": "A string description of the output parameter.", + "type": "string" + }, + "value": { + "$comment": "https://docs.github.com/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions#outputsoutput_idvalue", + "description": "The value that the output parameter will be mapped to. You can set this to a string or an expression with context. For example, you can use the steps context to set the value of an output to the output value of a step.", + "type": "string" + } + }, + "required": ["value"], + "additionalProperties": false } }, - "required": ["value"], "additionalProperties": false - } - }, - "additionalProperties": false - }, - "secrets": { - "$comment": "https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_callsecrets", - "description": "A map of the secrets that can be used in the called workflow. Within the called workflow, you can use the secrets context to refer to a secret.", - "patternProperties": { - "^[_a-zA-Z][a-zA-Z0-9_-]*$": { - "$comment": "https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_callsecretssecret_id", - "description": "A string identifier to associate with the secret.", - "properties": { - "description": { - "description": "A string description of the secret parameter.", - "type": "string" - }, - "required": { - "$comment": "https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_callsecretssecret_idrequired", - "description": "A boolean specifying whether the secret must be supplied.", - "type": "boolean" + }, + "secrets": { + "$comment": "https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_callsecrets", + "type": "object", + "description": "A map of the secrets that can be used in the called workflow. Within the called workflow, you can use the secrets context to refer to a secret.", + "patternProperties": { + "^[_a-zA-Z][a-zA-Z0-9_-]*$": { + "$comment": "https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_callsecretssecret_id", + "type": "object", + "description": "A string identifier to associate with the secret.", + "properties": { + "description": { + "description": "A string description of the secret parameter.", + "type": "string" + }, + "required": { + "$comment": "https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_callsecretssecret_idrequired", + "description": "A boolean specifying whether the secret must be supplied.", + "type": "boolean" + } + }, + "additionalProperties": false } }, "additionalProperties": false } - }, - "additionalProperties": false + } } - } + ] }, "workflow_dispatch": { "$comment": "https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/", + "$ref": "#/definitions/eventObject", "description": "You can now create workflows that are manually triggered with the new workflow_dispatch event. You will then see a 'Run workflow' button on the Actions tab, enabling you to easily trigger a run.", - "properties": { - "inputs": { - "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputs", - "description": "Input parameters allow you to specify data that the action expects to use during runtime. GitHub stores input parameters as environment variables. Input ids with uppercase letters are converted to lowercase during runtime. We recommended using lowercase input ids.", + "oneOf": [ + { + "type": "null" + }, + { "type": "object", - "patternProperties": { - "^[_a-zA-Z][a-zA-Z0-9_-]*$": { - "$ref": "#/definitions/workflowDispatchInput" + "properties": { + "inputs": { + "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputs", + "description": "Input parameters allow you to specify data that the action expects to use during runtime. GitHub stores input parameters as environment variables. Input ids with uppercase letters are converted to lowercase during runtime. We recommended using lowercase input ids.", + "type": "object", + "patternProperties": { + "^[_a-zA-Z][a-zA-Z0-9_-]*$": { + "$ref": "#/definitions/workflowDispatchInput" + } + }, + "additionalProperties": false } }, "additionalProperties": false } - }, - "additionalProperties": false + ] }, "workflow_run": { "$comment": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows#workflow_run", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "This event occurs when a workflow run is requested or completed, and allows you to execute a workflow based on the finished result of another workflow. For example, if your pull_request workflow generates build artifacts, you can create a new workflow that uses workflow_run to analyze the results and add a comment to the original pull request.", - "properties": { - "types": { - "allOf": [ - { - "$ref": "#/definitions/types" - } - ], - "items": { - "type": "string", - "enum": ["requested", "completed", "in_progress"] - }, - "default": ["requested", "completed"] + "oneOf": [ + { + "type": "null" }, - "workflows": { - "type": "array", - "items": { - "type": "string" + { + "type": "object", + "properties": { + "types": { + "$ref": "#/definitions/types", + "type": "array", + "items": { + "type": "string", + "enum": ["requested", "completed", "in_progress"] + }, + "default": ["requested", "completed"] + }, + "workflows": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } }, - "minItems": 1 + "patternProperties": { + "^branches(-ignore)?$": {} + } } - }, - "patternProperties": { - "^branches(-ignore)?$": {} - } + ] }, "repository_dispatch": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#external-events-repository_dispatch", - "allOf": [ - { - "$ref": "#/definitions/eventObject" - } - ], + "$ref": "#/definitions/eventObject", "description": "You can use the GitHub API to trigger a webhook event called repository_dispatch when you want to trigger a workflow for activity that happens outside of GitHub. For more information, see https://developer.github.com/v3/repos/#create-a-repository-dispatch-event.\nTo trigger the custom repository_dispatch webhook event, you must send a POST request to a GitHub API endpoint and provide an event_type name to describe the activity type. To trigger a workflow run, you must also configure your workflow to use the repository_dispatch event." }, "schedule": { @@ -2160,6 +2272,9 @@ } ] }, + "cache-mode": { + "$ref": "#/definitions/cacheMode" + }, "jobs": { "$comment": "https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobs", "description": "A workflow run is made up of one or more jobs. Jobs run in parallel by default. To run jobs sequentially, you can define dependencies on other jobs using the jobs..needs keyword.\nEach job runs in a fresh instance of the virtual environment specified by runs-on.\nYou can run an unlimited number of jobs as long as you are within the workflow usage limits. For more information, see https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#usage-limits.", diff --git a/src/check_jsonschema/builtin_schemas/vendor/gitlab-ci.json b/src/check_jsonschema/builtin_schemas/vendor/gitlab-ci.json index f6a7d81bd..4f2bc409f 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/gitlab-ci.json +++ b/src/check_jsonschema/builtin_schemas/vendor/gitlab-ci.json @@ -14,6 +14,32 @@ "properties": { "inputs": { "$ref": "#/definitions/configInputs" + }, + "include": { + "type": "array", + "markdownDescription": "List of files to fetch additional input definitions from. Supports `local`, `remote`, and `project` includes only. [Learn More](https://docs.gitlab.com/ci/yaml/#specinclude).", + "items": { + "$ref": "#/definitions/spec_include_item" + } + }, + "component": { + "type": "array", + "markdownDescription": "Component context fields made available for interpolation with `$[[ component. ]]`. [Learn More](https://docs.gitlab.com/ci/yaml/#speccomponent).", + "items": { + "type": "string", + "enum": [ + "name", + "sha", + "version", + "reference" + ] + }, + "uniqueItems": true + }, + "description": { + "type": "string", + "markdownDescription": "Description of the component, shown in the CI/CD Catalog on the component details page. [Learn More](https://docs.gitlab.com/ci/yaml/#specdescription).", + "maxLength": 256 } }, "additionalProperties": false @@ -212,6 +238,19 @@ ], "markdownDescription": "Used to specify a list of files and directories that should be attached to the job if it succeeds. Artifacts are sent to GitLab where they can be downloaded. [Learn More](https://docs.gitlab.com/ci/yaml/#artifacts).", "additionalProperties": false, + "if": { + "type": "object", + "required": [ + "access" + ] + }, + "then": { + "not": { + "required": [ + "public" + ] + } + }, "properties": { "paths": { "type": "array", @@ -263,6 +302,11 @@ "all" ] }, + "public": { + "type": "boolean", + "markdownDescription": "Determines whether the job artifacts are publicly available. Superseded by [`artifacts:access`](https://docs.gitlab.com/ci/yaml/#artifactsaccess). [Learn More](https://docs.gitlab.com/ci/yaml/#artifactspublic).", + "default": true + }, "expire_in": { "type": "string", "markdownDescription": "How long artifacts should be kept. They are saved 30 days by default. Artifacts that have expired are removed periodically via cron job. Supports a wide variety of formats, e.g. '1 week', '3 mins 4 sec', '2 hrs 20 min', '2h20min', '6 mos 1 day', '47 yrs 6 mos and 4d', '3 weeks and 2 days'. [Learn More](https://docs.gitlab.com/ci/yaml/#artifactsexpire_in).", @@ -281,6 +325,10 @@ "type": "string", "description": "Path to JSON file with annotations report." }, + "api_fuzzing": { + "$ref": "#/definitions/string_file_list", + "markdownDescription": "Path to file or list of files with API fuzzing report(s). [Learn More](https://docs.gitlab.com/ci/yaml/artifacts_reports/#artifactsreportsapi_fuzzing)." + }, "junit": { "description": "Path for file(s) that should be parsed as JUnit XML result", "oneOf": [ @@ -323,6 +371,10 @@ } } }, + "coverage_fuzzing": { + "$ref": "#/definitions/string_file_list", + "markdownDescription": "Path to file or list of files with coverage-guided fuzz testing report(s). [Learn More](https://docs.gitlab.com/ci/yaml/artifacts_reports/#artifactsreportscoverage_fuzzing)." + }, "codequality": { "$ref": "#/definitions/string_file_list", "description": "Path to file or list of files with code quality report(s) (such as Code Climate)." @@ -468,13 +520,67 @@ "properties": { "rules": { "type": "array", - "markdownDescription": "Conditional rules for this input.", + "markdownDescription": "Conditional options and defaults for this input, evaluated in order until one matches. Cannot be combined with `options` or `default`. [Learn More](https://docs.gitlab.com/ci/yaml/#specinputsrules).", "items": { - "type": "object" + "type": "object", + "additionalProperties": false, + "required": [ + "default" + ], + "properties": { + "if": { + "type": "string", + "markdownDescription": "Expression to evaluate. A rule with no `if` acts as the fallback." + }, + "options": { + "type": "array", + "markdownDescription": "List of allowed values when this rule matches.", + "maxItems": 50, + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "default": { + "markdownDescription": "Value used when this rule matches. Required on every rule. Must be one of `options` when `options` is defined." + } + } } } } }, + { + "if": { + "required": [ + "rules" + ] + }, + "then": { + "not": { + "anyOf": [ + { + "required": [ + "options" + ] + }, + { + "required": [ + "default" + ] + } + ] + } + } + }, { "allOf": [ { @@ -867,6 +973,9 @@ "type": "string", "pattern": "^sha256-[A-Za-z0-9+/]{43}=$" }, + "cache": { + "$ref": "#/definitions/include_cache" + }, "rules": { "$ref": "#/definitions/includeRules" }, @@ -880,6 +989,99 @@ } ] }, + "include_cache": { + "markdownDescription": "Cache the fetched remote file content to reduce HTTP requests. Only available for `include:remote`. [Learn More](https://docs.gitlab.com/ci/yaml/#includecache).", + "oneOf": [ + { + "type": "boolean", + "description": "Set to `true` to enable caching with a default time-to-live of 1 hour." + }, + { + "type": "string", + "description": "Time-to-live duration using `minutes`, `hours`, or `days`, for example '30 minutes' or '1 day'. Minimum '1 minute'.", + "minLength": 1 + } + ] + }, + "spec_include_item": { + "markdownDescription": "An input file to include in the header. Supports `local`, `remote`, and `project` includes only. [Learn More](https://docs.gitlab.com/ci/yaml/#specinclude).", + "oneOf": [ + { + "type": "object", + "additionalProperties": false, + "properties": { + "local": { + "description": "Relative path from local repository root (`/`) to the `yaml`/`yml` file template. The file must be on the same branch, and does not work across git submodules.", + "type": "string", + "format": "uri-reference", + "pattern": "\\.ya?ml$" + } + }, + "required": [ + "local" + ] + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "project": { + "description": "Path to the project, e.g. `group/project`, or `group/sub-group/project` [Learn more](https://docs.gitlab.com/ci/yaml/#includeproject).", + "type": "string", + "pattern": "(?:\\S/\\S|\\$\\S+)" + }, + "ref": { + "description": "Branch/Tag/Commit-hash for the target project.", + "type": "string" + }, + "file": { + "oneOf": [ + { + "description": "Relative path from project root (`/`) to the `yaml`/`yml` file template.", + "type": "string", + "pattern": "\\.ya?ml$" + }, + { + "description": "List of files by relative path from project root (`/`) to the `yaml`/`yml` file template.", + "type": "array", + "items": { + "type": "string", + "pattern": "\\.ya?ml$" + } + } + ] + } + }, + "required": [ + "project", + "file" + ] + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "remote": { + "description": "URL to a `yaml`/`yml` template file using HTTP/HTTPS.", + "type": "string", + "format": "uri-reference", + "pattern": "^https?://.+\\.ya?ml$" + }, + "integrity": { + "description": "SHA256 integrity hash of the remote file content.", + "type": "string", + "pattern": "^sha256-[A-Za-z0-9+/]{43}=$" + }, + "cache": { + "$ref": "#/definitions/include_cache" + } + }, + "required": [ + "remote" + ] + } + ] + }, "!reference": { "type": "array", "items": { @@ -1125,6 +1327,21 @@ "google_cloud" ] }, + "dast_configuration": { + "type": "object", + "markdownDescription": "Specifies the DAST site profile and scanner profile to use in the job. Requires the Ultimate tier and a job in the `dast` stage. [Learn More](https://docs.gitlab.com/ci/yaml/#dast_configuration).", + "additionalProperties": false, + "properties": { + "site_profile": { + "type": "string", + "description": "The name of the site profile to use in the job." + }, + "scanner_profile": { + "type": "string", + "description": "The name of the scanner profile to use in the job." + } + } + }, "secrets": { "type": "object", "markdownDescription": "Defines secrets to be injected as environment variables. [Learn More](https://docs.gitlab.com/ci/yaml/#secrets).", @@ -1414,7 +1631,7 @@ "$ref": "#/definitions/start_in" }, "allow_failure": { - "$ref": "#/definitions/allow_failure" + "$ref": "#/definitions/rulesAllowFailure" }, "needs": { "$ref": "#/definitions/rulesNeeds" @@ -1827,6 +2044,11 @@ } ] }, + "rulesAllowFailure": { + "type": "boolean", + "markdownDescription": "Allow the job to fail when this rule matches. Unlike job-level `allow_failure`, only a boolean is accepted here. [Learn More](https://docs.gitlab.com/ci/yaml/#rulesallow_failure).", + "default": false + }, "parallel": { "description": "Splits up a single job into multiple that run in parallel. Provides `CI_NODE_INDEX` and `CI_NODE_TOTAL` environment variables to the jobs.", "oneOf": [ @@ -2361,6 +2583,9 @@ "identity": { "$ref": "#/definitions/identity" }, + "dast_configuration": { + "$ref": "#/definitions/dast_configuration" + }, "inputs": { "$ref": "#/definitions/jobInputs" }, diff --git a/src/check_jsonschema/builtin_schemas/vendor/mergify.json b/src/check_jsonschema/builtin_schemas/vendor/mergify.json index 7a16c03df..4711635b5 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/mergify.json +++ b/src/check_jsonschema/builtin_schemas/vendor/mergify.json @@ -1375,6 +1375,7 @@ } ], "default": null, + "description": "Mergify can impersonate a GitHub user to edit a pull request. If no `bot_account` is set, Mergify will edit the pull request itself.", "title": "Bot Account" }, "draft": { @@ -1892,7 +1893,7 @@ }, "queue_controls_comment": { "default": true, - "description": "When enabled, Mergify renders task-list checkboxes in the Merge Queue status comment so developers can queue or requeue a pull request by clicking a box instead of typing `@mergifyio queue`.", + "description": "When enabled, Mergify renders task-list checkboxes a developer can tick instead of typing `@mergifyio queue`. The two controls live in different comments.\n- `Queue this pull request`: a comment of its own, posted before the pull request is queued.\n- `Requeue this pull request`: part of the Merge Queue status comment, after the pull request has left the queue, unless the queue merged it.\n", "title": "Queue Controls Comment", "type": "boolean" } @@ -2626,7 +2627,8 @@ "GITHUB_STACKED_PULL_REQUEST_MERGE_UNSUPPORTED", "BATCH_SCOPES_CHANGED", "BATCH_AHEAD_BRANCH_EDITED", - "CHECKS_INTERRUPTED" + "CHECKS_INTERRUPTED", + "GITHUB_WORKFLOWS_PERMISSION_MISSING" ], "type": "string" }, @@ -2767,6 +2769,9 @@ }, { "description": "A required check was cancelled before producing a result, so the queue conditions cannot be satisfied. The check says nothing about the pull request; requeueing runs it again." + }, + { + "description": "GitHub refused to write the pull request's changes under `.github/workflows/` because Mergify lacks the `workflows` permission." } ], "x-mergify-has-data-type": true, @@ -3234,7 +3239,7 @@ ] }, "deployment-success": { - "description": "The list of deployments that successfully passed for the pull request.", + "description": "The list of environments successfully deployed for the pull request. A deployment published by a GitHub App is also matched by its qualified `@/` form.", "items": { "type": "string" }, @@ -3260,7 +3265,7 @@ ] }, "deployment-failure": { - "description": "The list of deployments that failed for the pull request.", + "description": "The list of environments whose deployment failed for the pull request. A deployment published by a GitHub App is also matched by its qualified `@/` form.", "items": { "type": "string" }, @@ -4157,7 +4162,7 @@ }, "branch_protection_injection_mode": { "default": "queue", - "description": "Branch protections conditions injection mode to use.\n\n- `queue` will inject branch protections conditions as required conditions for queuing and merging pull requests.\n- `merge` will inject branch protections conditions as required conditions only for merging pull requests.\n\nTo skip injection for a specific ruleset, see [bypass actors and injection](https://docs.mergify.com/merge-queue/github-rulesets/#bypass-actors-and-injection).", + "description": "Branch protections conditions injection mode to use.\n\n- `queue` will inject branch protections conditions as required conditions for queuing and merging pull requests.\n- `merge` will inject branch protections conditions as required conditions only for merging pull requests.\n- `none` will not inject them at all, and requires a `merge_bot_account` able to satisfy the protections itself.", "enum": [ "queue", "merge", @@ -4200,7 +4205,7 @@ } ], "default": "auto", - "description": "The amount of time the merge queue waits for pending checks to return before dequeueing pull requests. This cannot be less than 60 seconds. Defaults to `auto`, which lets Mergify compute the timeout from the recent CI runtime of this queue (the 95th-percentile runtime with a safety margin); `auto` applies no timeout until enough history has been gathered. Set to `null` to disable the checks timeout entirely.", + "description": "The amount of time the merge queue waits for pending checks to return before dequeueing pull requests. This cannot be less than 60 seconds. Defaults to `auto`, which lets Mergify compute the timeout from the recent CI runtime of this queue (the 95th-percentile runtime with a safety margin). Runs identified as retry reruns or bisection runs are excluded from the calibration; runs whose provenance predates this tracking are kept for compatibility. `auto` applies no timeout until enough history has been gathered. Set to `null` to disable the checks timeout entirely.", "title": "Checks Timeout" }, "max_checks_retries": { @@ -4254,8 +4259,12 @@ "type": "string" }, "allow_queue_branch_edit": { + "configuration_deprecated_attribute": { + "deprecated_summary_ghes_mode": "`allow_queue_branch_edit` is deprecated and will be removed; remove it from your configuration. Once it is gone, an edited batch branch dequeues the pull requests it carries and reports the edit as a failure, which is what Mergify does today for a queue that leaves it unset. Move the work now done on a batch branch onto the pull requests themselves. It is removed after 2026-12-31.", + "deprecated_summary_saas_mode": "`allow_queue_branch_edit` is deprecated and will be removed; remove it from your configuration. Once it is gone, an edited batch branch dequeues the pull requests it carries and reports the edit as a failure, which is what Mergify does today for a queue that leaves it unset. Move the work now done on a batch branch onto the pull requests themselves. It is removed after 2026-12-31." + }, "default": false, - "description": "When creating a branch for a queue, if the commits of this branch are edited by an entity external to Mergify, Mergify dequeues all pull requests embarked in the branch and report the issue as a failure. If set to `true`, Mergify will allow such modifications and trust the content of the branch. Make sure only Mergify and your external application are allowed to edit these branches.\n\nThis option requires `merge_method` to be `merge-batch` or `fast-forward`. Those two merge the batch branch itself, so a commit pushed to it is part of what lands on the base branch; `merge`, `squash` and `rebase` merge each pull request at its own head, which never includes the edit.\n\nEnabling it therefore means the merged content is the batch branch, including commits that were never reviewed as part of any pull request. That is the contract of this option: it exists for batch-level work (a conflict resolution, a migration reorder, a lockfile regeneration) that belongs to no single pull request.\n\nNote also that under these two merge methods Mergify does not merge the pull requests one by one: GitHub marks each embarked pull request as merged only when its head commit is reachable from the new base branch tip, so a pull request whose head no longer matches what was embarked is not shown as merged even though its content landed.", + "description": "Deprecated: this option is being removed after 2026-12-31, and there is no replacement. Move the work now done on a batch branch onto the pull requests themselves. Once the option is gone, an edited batch branch dequeues the pull requests it carries and reports the edit as a failure, which is the behaviour you get today by leaving this unset.\n\nWhen creating a branch for a queue, if the commits of this branch are edited by an entity external to Mergify, Mergify dequeues all pull requests embarked in the branch and report the issue as a failure. If set to `true`, Mergify will allow such modifications and trust the content of the branch. Make sure only Mergify and your external application are allowed to edit these branches.\n\nThis option requires `merge_method` to be `merge-batch` or `fast-forward`. Those two merge the batch branch itself, so a commit pushed to it is part of what lands on the base branch; `merge`, `squash` and `rebase` merge each pull request at its own head, which never includes the edit.\n\nEnabling it therefore means the merged content is the batch branch, including commits that were never reviewed as part of any pull request. That is the contract of this option: it exists for batch-level work (a conflict resolution, a migration reorder, a lockfile regeneration) that belongs to no single pull request.\n\nNote also that under these two merge methods Mergify does not merge the pull requests one by one: GitHub marks each embarked pull request as merged only when its head commit is reachable from the new base branch tip, so a pull request whose head no longer matches what was embarked is not shown as merged even though its content landed.", "title": "Allow Queue Branch Edit", "type": "boolean" }, @@ -4293,9 +4302,13 @@ "title": "Merge Method" }, "autosquash": { + "configuration_deprecated_attribute": { + "deprecated_summary_ghes_mode": "`autosquash` has been removed and this option is now ignored: the merge queue no longer squashes commits beginning with `squash!`, `fixup!` or `amend!` when it updates a pull request in place. Remove it from your configuration.", + "deprecated_summary_saas_mode": "`autosquash` has been removed and this option is now ignored: the merge queue no longer squashes commits beginning with `squash!`, `fixup!` or `amend!` when it updates a pull request in place. Remove it from your configuration." + }, "default": false, "deprecated": true, - "description": "This option is relevant only if you do in place checks and if you use the `rebase` option of the update_method. It will automatically squash your commits beginning by `squash!`, `fixup!` or `amend!`, just like the option with the same name when doing a `git rebase`.", + "description": "Deprecated: the merge queue no longer squashes commits beginning with `squash!`, `fixup!` or `amend!` when it updates a pull request in place. The option is still accepted so configurations that set it keep validating; remove it from your configuration.", "title": "Autosquash", "type": "boolean" }, @@ -4320,7 +4333,7 @@ } ], "default": null, - "description": "Method to use to update the pull request with its base branch when the check is done in place.\nPossible values:\n\n- `merge` to merge the base branch into the pull request.\n- `rebase` to rebase the pull request against its base branch.\n\nWhen `null`, defaults to `merge` except if `merge_method` is `fast-forward` then it defaults to `rebase`.", + "description": "Method to use to update the pull request with its base branch when the check is done in place.\nPossible values:\n\n- `merge` to merge the base branch into the pull request.\n- `rebase` to rebase the pull request against its base branch. When the queue\n runs its checks in place, a pull request coming from a fork cannot be rebased\n on behalf of an `update_bot_account` and is refused -- see that option for\n the remedy. Without an\n `update_bot_account`, the rebase goes through GitHub's API as Mergify, which\n works on a fork -- except for one that changes GitHub Actions workflows or\n was opened by another App's bot, which GitHub lets Mergify queue in place\n only *with* an `update_bot_account`, or one that changes more files than\n GitHub lists, which Mergify cannot rule out as a workflow change. Such a\n queue has to run its checks on a draft pull request instead.\n\nWhen `null`, defaults to `merge` except if `merge_method` is `fast-forward` then it defaults to `rebase`.", "title": "Update Method" }, "commit_message_template": { @@ -4397,7 +4410,7 @@ } ], "default": null, - "description": "For certain actions, such as rebasing branches, Mergify has to impersonate a GitHub user. You can specify the account to use with this option. If no `update_bot_account` is set, Mergify uses the pull request author instead. The user account **must** have already been logged in Mergify dashboard once. This option overrides the value defined in the queue rules section of the configuration.", + "description": "For certain actions, such as rebasing branches, Mergify has to impersonate a GitHub user. You can specify the account to use with this option. With no `update_bot_account`, the update goes through GitHub's API as Mergify and impersonates nobody. The user account **must** have already been logged in Mergify dashboard once. This option overrides the value defined in the queue rules section of the configuration.\n\n**Warning:** With `update_method: rebase` and checks run in place, a pull request coming from a fork cannot be rebased on behalf of this account: GitHub refuses an OAuth token on its rebase API for a fork, so it would mean impersonating the account to force-push the contributor's branch. Those pull requests are refused when they are queued. Unset this option to rebase them through GitHub's API as Mergify instead -- except for a fork pull request that changes GitHub Actions workflows or was opened by another App's bot, which GitHub lets Mergify queue in place only *with* an `update_bot_account`, or that changes more files than GitHub lists, which Mergify cannot rule out as a workflow change; such a queue has to run its checks on a draft pull request. Or set `update_method: merge` on a queue that does not merge with `fast-forward`: such a queue lands by moving the base branch onto this one, so a merge commit is what it exists to keep off it, and it has to run its checks on a draft pull request instead.", "title": "Update Bot Account" }, "name": { @@ -4425,7 +4438,7 @@ }, "branch_protection_injection_mode": { "default": "queue", - "description": "Branch protections conditions injection mode to use.\n\n- `queue` will inject branch protections conditions as required conditions for queuing and merging pull requests.\n- `merge` will inject branch protections conditions as required conditions only for merging pull requests.\n\nTo skip injection for a specific ruleset, see [bypass actors and injection](https://docs.mergify.com/merge-queue/github-rulesets/#bypass-actors-and-injection).", + "description": "Branch protections conditions injection mode to use.\n\n- `queue` will inject branch protections conditions as required conditions for queuing and merging pull requests.\n- `merge` will inject branch protections conditions as required conditions only for merging pull requests.\n- `none` will not inject them at all, and requires a `merge_bot_account` able to satisfy the protections itself.", "enum": [ "queue", "merge", @@ -4468,7 +4481,7 @@ } ], "default": "auto", - "description": "The amount of time the merge queue waits for pending checks to return before dequeueing pull requests. This cannot be less than 60 seconds. Defaults to `auto`, which lets Mergify compute the timeout from the recent CI runtime of this queue (the 95th-percentile runtime with a safety margin); `auto` applies no timeout until enough history has been gathered. Set to `null` to disable the checks timeout entirely.", + "description": "The amount of time the merge queue waits for pending checks to return before dequeueing pull requests. This cannot be less than 60 seconds. Defaults to `auto`, which lets Mergify compute the timeout from the recent CI runtime of this queue (the 95th-percentile runtime with a safety margin). Runs identified as retry reruns or bisection runs are excluded from the calibration; runs whose provenance predates this tracking are kept for compatibility. `auto` applies no timeout until enough history has been gathered. Set to `null` to disable the checks timeout entirely.", "title": "Checks Timeout" }, "max_checks_retries": { @@ -4522,8 +4535,12 @@ "type": "string" }, "allow_queue_branch_edit": { + "configuration_deprecated_attribute": { + "deprecated_summary_ghes_mode": "`allow_queue_branch_edit` is deprecated and will be removed; remove it from your configuration. Once it is gone, an edited batch branch dequeues the pull requests it carries and reports the edit as a failure, which is what Mergify does today for a queue that leaves it unset. Move the work now done on a batch branch onto the pull requests themselves. It is removed after 2026-12-31.", + "deprecated_summary_saas_mode": "`allow_queue_branch_edit` is deprecated and will be removed; remove it from your configuration. Once it is gone, an edited batch branch dequeues the pull requests it carries and reports the edit as a failure, which is what Mergify does today for a queue that leaves it unset. Move the work now done on a batch branch onto the pull requests themselves. It is removed after 2026-12-31." + }, "default": false, - "description": "When creating a branch for a queue, if the commits of this branch are edited by an entity external to Mergify, Mergify dequeues all pull requests embarked in the branch and report the issue as a failure. If set to `true`, Mergify will allow such modifications and trust the content of the branch. Make sure only Mergify and your external application are allowed to edit these branches.\n\nThis option requires `merge_method` to be `merge-batch` or `fast-forward`. Those two merge the batch branch itself, so a commit pushed to it is part of what lands on the base branch; `merge`, `squash` and `rebase` merge each pull request at its own head, which never includes the edit.\n\nEnabling it therefore means the merged content is the batch branch, including commits that were never reviewed as part of any pull request. That is the contract of this option: it exists for batch-level work (a conflict resolution, a migration reorder, a lockfile regeneration) that belongs to no single pull request.\n\nNote also that under these two merge methods Mergify does not merge the pull requests one by one: GitHub marks each embarked pull request as merged only when its head commit is reachable from the new base branch tip, so a pull request whose head no longer matches what was embarked is not shown as merged even though its content landed.", + "description": "Deprecated: this option is being removed after 2026-12-31, and there is no replacement. Move the work now done on a batch branch onto the pull requests themselves. Once the option is gone, an edited batch branch dequeues the pull requests it carries and reports the edit as a failure, which is the behaviour you get today by leaving this unset.\n\nWhen creating a branch for a queue, if the commits of this branch are edited by an entity external to Mergify, Mergify dequeues all pull requests embarked in the branch and report the issue as a failure. If set to `true`, Mergify will allow such modifications and trust the content of the branch. Make sure only Mergify and your external application are allowed to edit these branches.\n\nThis option requires `merge_method` to be `merge-batch` or `fast-forward`. Those two merge the batch branch itself, so a commit pushed to it is part of what lands on the base branch; `merge`, `squash` and `rebase` merge each pull request at its own head, which never includes the edit.\n\nEnabling it therefore means the merged content is the batch branch, including commits that were never reviewed as part of any pull request. That is the contract of this option: it exists for batch-level work (a conflict resolution, a migration reorder, a lockfile regeneration) that belongs to no single pull request.\n\nNote also that under these two merge methods Mergify does not merge the pull requests one by one: GitHub marks each embarked pull request as merged only when its head commit is reachable from the new base branch tip, so a pull request whose head no longer matches what was embarked is not shown as merged even though its content landed.", "title": "Allow Queue Branch Edit", "type": "boolean" }, @@ -4561,9 +4578,13 @@ "title": "Merge Method" }, "autosquash": { + "configuration_deprecated_attribute": { + "deprecated_summary_ghes_mode": "`autosquash` has been removed and this option is now ignored: the merge queue no longer squashes commits beginning with `squash!`, `fixup!` or `amend!` when it updates a pull request in place. Remove it from your configuration.", + "deprecated_summary_saas_mode": "`autosquash` has been removed and this option is now ignored: the merge queue no longer squashes commits beginning with `squash!`, `fixup!` or `amend!` when it updates a pull request in place. Remove it from your configuration." + }, "default": false, "deprecated": true, - "description": "This option is relevant only if you do in place checks and if you use the `rebase` option of the update_method. It will automatically squash your commits beginning by `squash!`, `fixup!` or `amend!`, just like the option with the same name when doing a `git rebase`.", + "description": "Deprecated: the merge queue no longer squashes commits beginning with `squash!`, `fixup!` or `amend!` when it updates a pull request in place. The option is still accepted so configurations that set it keep validating; remove it from your configuration.", "title": "Autosquash", "type": "boolean" }, @@ -4588,7 +4609,7 @@ } ], "default": null, - "description": "Method to use to update the pull request with its base branch when the check is done in place.\nPossible values:\n\n- `merge` to merge the base branch into the pull request.\n- `rebase` to rebase the pull request against its base branch.\n\nWhen `null`, defaults to `merge` except if `merge_method` is `fast-forward` then it defaults to `rebase`.", + "description": "Method to use to update the pull request with its base branch when the check is done in place.\nPossible values:\n\n- `merge` to merge the base branch into the pull request.\n- `rebase` to rebase the pull request against its base branch. When the queue\n runs its checks in place, a pull request coming from a fork cannot be rebased\n on behalf of an `update_bot_account` and is refused -- see that option for\n the remedy. Without an\n `update_bot_account`, the rebase goes through GitHub's API as Mergify, which\n works on a fork -- except for one that changes GitHub Actions workflows or\n was opened by another App's bot, which GitHub lets Mergify queue in place\n only *with* an `update_bot_account`, or one that changes more files than\n GitHub lists, which Mergify cannot rule out as a workflow change. Such a\n queue has to run its checks on a draft pull request instead.\n\nWhen `null`, defaults to `merge` except if `merge_method` is `fast-forward` then it defaults to `rebase`.", "title": "Update Method" }, "commit_message_template": { @@ -4665,7 +4686,7 @@ } ], "default": null, - "description": "For certain actions, such as rebasing branches, Mergify has to impersonate a GitHub user. You can specify the account to use with this option. If no `update_bot_account` is set, Mergify uses the pull request author instead. The user account **must** have already been logged in Mergify dashboard once. This option overrides the value defined in the queue rules section of the configuration.", + "description": "For certain actions, such as rebasing branches, Mergify has to impersonate a GitHub user. You can specify the account to use with this option. With no `update_bot_account`, the update goes through GitHub's API as Mergify and impersonates nobody. The user account **must** have already been logged in Mergify dashboard once. This option overrides the value defined in the queue rules section of the configuration.\n\n**Warning:** With `update_method: rebase` and checks run in place, a pull request coming from a fork cannot be rebased on behalf of this account: GitHub refuses an OAuth token on its rebase API for a fork, so it would mean impersonating the account to force-push the contributor's branch. Those pull requests are refused when they are queued. Unset this option to rebase them through GitHub's API as Mergify instead -- except for a fork pull request that changes GitHub Actions workflows or was opened by another App's bot, which GitHub lets Mergify queue in place only *with* an `update_bot_account`, or that changes more files than GitHub lists, which Mergify cannot rule out as a workflow change; such a queue has to run its checks on a draft pull request. Or set `update_method: merge` on a queue that does not merge with `fast-forward`: such a queue lands by moving the base branch onto this one, so a merge commit is what it exists to keep off it, and it has to run its checks on a draft pull request instead.", "title": "Update Bot Account" } }, @@ -4702,13 +4723,17 @@ } ], "default": null, - "description": "To rebase, Mergify needs to impersonate a GitHub user. You can specify the account to use with this option. If no `bot_account` is set, Mergify picks the pull request author. The user account must have already been logged in Mergify dashboard once.\n\n**Warning:** Due to security on GitHub side, rebase cannot be performed on pull requests created by bot accounts without explicitly setting the `bot_account` impersonation option.", + "description": "To rebase, Mergify needs to impersonate a GitHub user. You can specify the account to use with this option. If no `bot_account` is set, Mergify picks the pull request author, or the user who sent the `@mergifyio rebase` command. The user account must have already been logged in Mergify dashboard once.\n\n**Warning:** Because of GitHub's security restrictions, Mergify cannot impersonate an account owned by another GitHub App. A rebase therefore fails whenever the account it falls back to is a bot, either because the pull request was opened by one or because one sent the command, unless `bot_account` names a user account.\n\n**Warning:** A pull request coming from a fork cannot be rebased, whether or not this option is set: rebasing one means impersonating a GitHub user to force-push the contributor's branch. Use the `update` action or the `@mergifyio update` command on those -- except where Mergify cannot write the head branch at all, such as a deleted fork, where `update` is refused too and the check run says what is wrong.", "title": "Bot Account" }, "autosquash": { + "configuration_deprecated_attribute": { + "deprecated_summary_ghes_mode": "`autosquash` has been removed and this option is now ignored: the `rebase` action no longer squashes commits beginning with `squash!`, `fixup!` or `amend!`. Remove it from your configuration.", + "deprecated_summary_saas_mode": "`autosquash` has been removed and this option is now ignored: the `rebase` action no longer squashes commits beginning with `squash!`, `fixup!` or `amend!`. Remove it from your configuration." + }, "default": false, "deprecated": true, - "description": "When set to `true`, commits starting with `fixup!`, `squash!` and `amend!` are squashed during the rebase.", + "description": "Deprecated: the `rebase` action no longer squashes commits beginning with `squash!`, `fixup!` or `amend!`. The option is still accepted so configurations that set it keep validating; remove it from your configuration.", "title": "Autosquash", "type": "boolean" } @@ -4762,7 +4787,7 @@ } ], "default": null, - "description": "Pick random users and teams from the provided lists. When `random_count` is specified, `users` and `teams` can be a dictionary where the key is the login and the value is the weight to use. Weight must be between 1 and 15 included.", + "description": "Pick random users and teams from the provided lists. When `random_count` is specified, `users` and `teams` can be a dictionary where the key is the login and the value is the weight to use. Weight must be between 1 and 65535 included.", "title": "Random Count" }, "users": { @@ -5069,7 +5094,7 @@ } ], "default": null, - "description": "Mergify can impersonate a GitHub user to squash a pull request. If no `bot_account` is set, Mergify will squash the pull request itself", + "description": "Mergify can impersonate a GitHub user to squash a pull request. If no `bot_account` is set, Mergify picks the pull request author, or the user who sent the `@mergifyio squash` command. The user account must have already been logged in Mergify dashboard once.\n\n**Warning:** Because of GitHub's security restrictions, Mergify cannot impersonate an account owned by another GitHub App. A squash therefore fails whenever the account it falls back to is a bot, either because the pull request was opened by one or because one sent the command, unless `bot_account` names a user account.", "title": "Bot Account" }, "commit_message": { diff --git a/src/check_jsonschema/builtin_schemas/vendor/renovate.json b/src/check_jsonschema/builtin_schemas/vendor/renovate.json index 4e8ff4619..2acb7d87a 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/renovate.json +++ b/src/check_jsonschema/builtin_schemas/vendor/renovate.json @@ -1,8 +1,8 @@ { "$id": "https://docs.renovatebot.com/renovate-schema.json", - "title": "JSON schema for Renovate 44.30.3 config files (https://renovatebot.com/)", + "title": "JSON schema for Renovate 44.103.2 config files (https://renovatebot.com/)", "$schema": "http://json-schema.org/draft-07/schema#", - "x-renovate-version": "44.30.3", + "x-renovate-version": "44.103.2", "allowComments": true, "type": "object", "definitions": { @@ -86,6 +86,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -127,6 +142,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -168,6 +198,77 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, + "enabled": { + "$ref": "#/definitions/enabled" + }, + "managerFilePatterns": { + "$ref": "#/definitions/managerFilePatterns" + } + } + } + ] + } + }, + "apm": { + "description": "Configuration object for the apm manager\nSee also: https://docs.renovatebot.com/configuration-options/#apm", + "markdownDescription": "Configuration object for the apm manager\n\nSee also: [apm](https://docs.renovatebot.com/configuration-options/#apm)", + "type": "object", + "default": { + "managerFilePatterns": [ + "/(^|/)apm\\.ya?ml$/" + ] + }, + "$ref": "#", + "items": { + "allOf": [ + { + "type": "object", + "properties": { + "description": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "A custom description for this configuration object" + } + }, + { + "type": "string", + "description": "A custom description for this configuration object" + } + ] + }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -207,6 +308,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -263,6 +379,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -413,6 +544,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -474,6 +620,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -516,6 +677,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -559,6 +735,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -600,6 +791,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -643,6 +849,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -696,6 +917,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -737,6 +973,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -778,6 +1029,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -861,6 +1127,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -904,6 +1185,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -968,6 +1264,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "bumpType": { "$ref": "#/definitions/bumpType" }, @@ -1025,6 +1336,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -1067,6 +1393,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -1109,6 +1450,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -1150,6 +1506,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -1192,6 +1563,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -1232,6 +1618,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -1278,6 +1679,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -1336,6 +1752,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -1378,6 +1809,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -1502,6 +1948,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -1554,6 +2015,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -1601,6 +2077,10 @@ }, "additionalProperties": false, "properties": { + "apm": { + "type": "string", + "description": "A constraint for the `apm` Containerbase tool" + }, "bazelisk": { "type": "string", "description": "A constraint for the `bazelisk` Containerbase tool" @@ -1925,6 +2405,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -1966,6 +2461,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -2005,6 +2515,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -2037,12 +2562,27 @@ "type": "array", "items": { "type": "string", - "description": "A custom description for this configuration object" + "description": "A custom description for this configuration object" + } + }, + { + "type": "string", + "description": "A custom description for this configuration object" + } + ] + }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" } }, { "type": "string", - "description": "A custom description for this configuration object" + "description": "Description which replaces the descriptions of any presets which this config extends" } ] }, @@ -2088,6 +2628,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "defaultRegistryUrlTemplate": { "$ref": "#/definitions/defaultRegistryUrlTemplate" }, @@ -2126,6 +2681,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "autoReplaceStringTemplate": { "$ref": "#/definitions/autoReplaceStringTemplate" }, @@ -2276,6 +2846,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -2401,6 +2986,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -2457,6 +3057,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -2475,7 +3090,8 @@ "default": { "managerFilePatterns": [ "/^.devcontainer/devcontainer.json$/", - "/^.devcontainer.json$/" + "/^.devcontainer.json$/", + "/^.devcontainer/[^/]+/devcontainer.json$/" ] }, "$ref": "#", @@ -2499,6 +3115,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -2540,6 +3171,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" } @@ -2584,6 +3230,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -2626,6 +3287,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -2673,6 +3349,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -2864,6 +3555,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -2905,6 +3611,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -2980,6 +3701,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3023,6 +3759,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3084,6 +3835,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3125,6 +3891,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3166,6 +3947,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3205,6 +4001,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3247,6 +4058,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3300,6 +4126,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3340,12 +4181,27 @@ "type": "array", "items": { "type": "string", - "description": "A custom description for this configuration object" + "description": "A custom description for this configuration object" + } + }, + { + "type": "string", + "description": "A custom description for this configuration object" + } + ] + }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" } }, { "type": "string", - "description": "A custom description for this configuration object" + "description": "Description which replaces the descriptions of any presets which this config extends" } ] }, @@ -3391,6 +4247,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3476,6 +4347,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3527,6 +4413,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3570,6 +4471,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3616,6 +4532,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3655,6 +4586,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3700,6 +4646,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3745,6 +4706,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3786,6 +4762,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3828,6 +4819,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -3863,6 +4869,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "abortIgnoreStatusCodes": { "$ref": "#/definitions/abortIgnoreStatusCodes" }, @@ -3968,6 +4989,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -4101,6 +5137,11 @@ "default": {}, "additionalProperties": false, "properties": { + "apm": { + "type": "object", + "description": "Install the `apm` Containerbase tool", + "additionalProperties": false + }, "bazelisk": { "type": "object", "description": "Install the `bazelisk` Containerbase tool", @@ -4380,6 +5421,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -4431,6 +5487,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -4493,6 +5564,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -4532,6 +5618,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -4574,6 +5675,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -4624,6 +5740,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -4675,6 +5806,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" } @@ -4707,6 +5853,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "matchMessage": { "$ref": "#/definitions/matchMessage" }, @@ -4735,12 +5896,27 @@ "type": "array", "items": { "type": "string", - "description": "A custom description for this configuration object" + "description": "A custom description for this configuration object" + } + }, + { + "type": "string", + "description": "A custom description for this configuration object" + } + ] + }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" } }, { "type": "string", - "description": "A custom description for this configuration object" + "description": "Description which replaces the descriptions of any presets which this config extends" } ] }, @@ -5109,6 +6285,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -5151,6 +6342,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -5210,6 +6416,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -5255,6 +6476,12 @@ ], "default": "timestamp-required" }, + "minimumReleaseAgeBuffer": { + "description": "Extra time added to `minimumReleaseAge` before an update is considered stable.\nSee also: https://docs.renovatebot.com/configuration-options/#minimumreleaseagebuffer", + "markdownDescription": "Extra time added to `minimumReleaseAge` before an update is considered stable.\n\nSee also: [minimumReleaseAgeBuffer](https://docs.renovatebot.com/configuration-options/#minimumreleaseagebuffer)", + "type": "string", + "default": "30 minutes" + }, "minor": { "description": "Configuration to apply when an update type is `minor`.\nSee also: https://docs.renovatebot.com/configuration-options/#minor", "markdownDescription": "Configuration to apply when an update type is `minor`.\n\nSee also: [minor](https://docs.renovatebot.com/configuration-options/#minor)", @@ -5281,6 +6508,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" } @@ -5319,6 +6561,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -5366,6 +6623,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -5407,6 +6679,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -5479,6 +6766,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -5526,6 +6828,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -5577,6 +6894,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -5646,6 +6978,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -5689,6 +7036,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -5728,6 +7090,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -5769,6 +7146,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -5796,6 +7188,21 @@ "markdownDescription": "Override the depName value.\n\nSee also: [overrideDepName](https://docs.renovatebot.com/configuration-options/#packagerulesoverridedepname)", "type": "string" }, + "overrideDescription": { + "description": "Description which replaces the descriptions of any presets which this config extends.\nSee also: https://docs.renovatebot.com/configuration-options/#overridedescription", + "markdownDescription": "Description which replaces the descriptions of any presets which this config extends.\n\nSee also: [overrideDescription](https://docs.renovatebot.com/configuration-options/#overridedescription)", + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "string" + } + ] + }, "overridePackageName": { "description": "Override the packageName value.\nSee also: https://docs.renovatebot.com/configuration-options/#packagerulesoverridepackagename", "markdownDescription": "Override the packageName value.\n\nSee also: [overridePackageName](https://docs.renovatebot.com/configuration-options/#packagerulesoverridepackagename)", @@ -5830,6 +7237,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "allowedVersions": { "$ref": "#/definitions/allowedVersions" }, @@ -5957,6 +7379,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" } @@ -5995,6 +7432,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6034,6 +7486,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6080,6 +7547,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" } @@ -6113,12 +7595,27 @@ "type": "array", "items": { "type": "string", - "description": "A custom description for this configuration object" + "description": "A custom description for this configuration object" + } + }, + { + "type": "string", + "description": "A custom description for this configuration object" + } + ] + }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" } }, { "type": "string", - "description": "A custom description for this configuration object" + "description": "Description which replaces the descriptions of any presets which this config extends" } ] }, @@ -6169,6 +7666,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6210,6 +7722,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6251,6 +7778,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6292,6 +7834,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6334,6 +7891,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6392,6 +7964,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6465,6 +8052,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "commands": { "$ref": "#/definitions/commands" }, @@ -6653,6 +8255,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6700,6 +8317,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6753,6 +8385,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6794,6 +8441,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6837,6 +8499,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6880,6 +8557,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -6912,8 +8604,8 @@ "type": "boolean" }, "rebaseLabel": { - "description": "Label to request a rebase from Renovate bot.\nSee also: https://docs.renovatebot.com/configuration-options/#rebaselabel", - "markdownDescription": "Label to request a rebase from Renovate bot.\n\nSee also: [rebaseLabel](https://docs.renovatebot.com/configuration-options/#rebaselabel)", + "description": "Label to request a rebase from Renovate.\nSee also: https://docs.renovatebot.com/configuration-options/#rebaselabel", + "markdownDescription": "Label to request a rebase from Renovate.\n\nSee also: [rebaseLabel](https://docs.renovatebot.com/configuration-options/#rebaselabel)", "type": "string", "default": "rebase" }, @@ -7019,6 +8711,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7063,6 +8770,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" } @@ -7161,6 +8883,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" } @@ -7206,6 +8943,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7248,6 +9000,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7290,6 +9057,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7335,6 +9117,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7367,12 +9164,27 @@ "type": "array", "items": { "type": "string", - "description": "A custom description for this configuration object" + "description": "A custom description for this configuration object" + } + }, + { + "type": "string", + "description": "A custom description for this configuration object" + } + ] + }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" } }, { "type": "string", - "description": "A custom description for this configuration object" + "description": "Description which replaces the descriptions of any presets which this config extends" } ] }, @@ -7483,6 +9295,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7539,6 +9366,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7638,6 +9480,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7681,6 +9538,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7720,6 +9592,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7764,6 +9651,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7807,6 +9709,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7849,6 +9766,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7892,6 +9824,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7935,6 +9882,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -7985,6 +9947,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "jvmMaxMemory": { "$ref": "#/definitions/jvmMaxMemory" }, @@ -8042,6 +10019,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -8083,6 +10075,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -8124,6 +10131,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -8205,6 +10227,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -8247,6 +10284,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -8351,7 +10403,8 @@ "commitMessageSuffix": "[SECURITY]", "branchTopic": "{{{datasource}}}-{{{depNameSanitized}}}-vulnerability", "prCreation": "immediate", - "vulnerabilityFixStrategy": "lowest" + "vulnerabilityFixStrategy": "lowest", + "prConcurrentLimit": 0 }, "$ref": "#", "items": { @@ -8374,6 +10427,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -8425,6 +10493,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -8472,6 +10555,21 @@ } ] }, + "overrideDescription": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + }, + { + "type": "string", + "description": "Description which replaces the descriptions of any presets which this config extends" + } + ] + }, "enabled": { "$ref": "#/definitions/enabled" }, @@ -8506,6 +10604,9 @@ "ant": { "$ref": "#/definitions/ant" }, + "apm": { + "$ref": "#/definitions/apm" + }, "argocd": { "$ref": "#/definitions/argocd" }, @@ -9025,6 +11126,9 @@ "minimumReleaseAgeBehaviour": { "$ref": "#/definitions/minimumReleaseAgeBehaviour" }, + "minimumReleaseAgeBuffer": { + "$ref": "#/definitions/minimumReleaseAgeBuffer" + }, "minor": { "$ref": "#/definitions/minor" }, @@ -9073,6 +11177,9 @@ "osvVulnerabilityAlerts": { "$ref": "#/definitions/osvVulnerabilityAlerts" }, + "overrideDescription": { + "$ref": "#/definitions/overrideDescription" + }, "packageRules": { "$ref": "#/definitions/packageRules" }, @@ -9419,6 +11526,11 @@ "mergeConfidenceDatasources" ] }, + { + "required": [ + "internalHostAccess" + ] + }, { "required": [ "useCloudMetadataServices" @@ -9669,6 +11781,11 @@ "inheritConfigStrict" ] }, + { + "required": [ + "inheritConfigTrusted" + ] + }, { "required": [ "requireConfig" @@ -9809,6 +11926,11 @@ "executionTimeout" ] }, + { + "required": [ + "exitCodeForErrors" + ] + }, { "required": [ "processEnv" @@ -9819,6 +11941,11 @@ "bbUseDevelopmentBranch" ] }, + { + "required": [ + "allowInternal" + ] + }, { "required": [ "cacheHardTtlMinutes" diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/buildkite.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/buildkite.sha256 index 37345a784..a4bc022e9 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/buildkite.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/buildkite.sha256 @@ -1 +1 @@ -48df24429e67b7364454391c8e70395087dec52db4133f7760603574f662b450 \ No newline at end of file +f5138ecff10e6d9faf54cc60942d9071d76c00cd4bf64a879a0e5d407d77e5f4 \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/changie.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/changie.sha256 index d867b5af3..106d4437b 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/changie.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/changie.sha256 @@ -1 +1 @@ -daa669dbecc74f798a48c440a63206164d9687e6e3eef796403ee7bcf38a2f1d \ No newline at end of file +73147ce17b4e1c5d7d50dc7ccbc13e07a941a43f6e1e1012aa132f1e07959906 \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/circle-ci.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/circle-ci.sha256 index a5b6a608f..2eb115aa0 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/circle-ci.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/circle-ci.sha256 @@ -1 +1 @@ -943887ba97ed0047f4170e83d3e5bf045ae12d824f6da56ca50c2224a7fbb458 \ No newline at end of file +7f3b844597735a9f884faee304a2ba1d65a87fdf2fae6c731208c0c39510ec65 \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/compose-spec.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/compose-spec.sha256 index 94cfd11ce..f0689ec72 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/compose-spec.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/compose-spec.sha256 @@ -1 +1 @@ -73ca5878c77570ba222a558016c7b3c6770ba5f3377786593e32180666512f8f \ No newline at end of file +d61cc3df8c6e6a727043e84f3405c69ffd63d341f629db8480f1d2ee5405b10c \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/dependabot.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/dependabot.sha256 index 732894bae..7d45813d9 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/dependabot.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/dependabot.sha256 @@ -1 +1 @@ -46255f692a8d661325e9d044b50f4b687aff68633b716420b64e460fb212b471 \ No newline at end of file +57efbbcba05d2c26ad8e00b2ab295f797931652174d4e7d5272615069ecea61f \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/github-actions.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/github-actions.sha256 index cc4672cf7..63871dba5 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/github-actions.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/github-actions.sha256 @@ -1 +1 @@ -83bd3bf0c4122ceb764927bc189d9e3794931306b53cdf89816f6f3472cadf88 \ No newline at end of file +224326cc5a334bdb97b56b6fc320cd4381ba7d61b477b425ed506e6a420b52ba \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/github-workflows.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/github-workflows.sha256 index a955fc591..ae6ad8fad 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/github-workflows.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/github-workflows.sha256 @@ -1 +1 @@ -7a952fdb7c1b130732e40ccea9db9bced906c1198e97834f8a49ae3b411f3161 \ No newline at end of file +d10c9f4656e1bd5bc6727e9b35080e017dc167154726fca93da33c7a6bd1c4f3 \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/gitlab-ci.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/gitlab-ci.sha256 index ef765638e..a686451ab 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/gitlab-ci.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/gitlab-ci.sha256 @@ -1 +1 @@ -7568b544b4b95102f21e9fd89d769d54ee6f86b35d2fbb7f7b947d6fa9fc4dda \ No newline at end of file +a4dc2b155aa574575fbfd51dcca99388db5ba1b563ab5e05ce8df005e7eb9ced \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/mergify.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/mergify.sha256 index e9030f19b..5ee91a2af 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/mergify.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/mergify.sha256 @@ -1 +1 @@ -ce54a89ff274927f2cd45c5aee3693ae23f5772fdb53299575a067c0edba4eb4 \ No newline at end of file +4d9cb3859bc4faaf484d62cdd59b670cb432b7a074149e047f7450029fafb712 \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/renovate.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/renovate.sha256 index f97f49960..b61ab6be8 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/renovate.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/renovate.sha256 @@ -1 +1 @@ -13e5ea11f06eaf228db2ca35a3890c69e8f8d1f0635e3b37397c87439c6bd5c5 \ No newline at end of file +8d1763871eb19ba604c7fb0834b35a724e49245f09d54a2467ed1137788c3b45 \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/taskfile.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/taskfile.sha256 index b20925fe7..a6e02df3b 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/taskfile.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/taskfile.sha256 @@ -1 +1 @@ -c12ec913625a91c15aa49f8d30bd975fb4faab0b27009c3421f9bfdaa0e1980d \ No newline at end of file +7cc09d47d1f09b80613b83ac0598c736df5f0be5c009854c7c63f39a2f3928c2 \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/travis.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/travis.sha256 index dd3b94b20..2315404cf 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/travis.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/travis.sha256 @@ -1 +1 @@ -82988e7d946686b4910a9cff5f9288cd3d448bf122f76d37955dcbc162a94a39 \ No newline at end of file +27d37ed6bbc691cd410451467c733d2d0aca5612a57c3162ebc0988cea3ae46c \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/woodpecker-ci.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/woodpecker-ci.sha256 index 503333fe1..567488f7f 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/woodpecker-ci.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/woodpecker-ci.sha256 @@ -1 +1 @@ -d40f30a65b4e138ea2abe41a9ff811516e4988ff7a89a0ca552bc12452c49057 \ No newline at end of file +70f3b3db9710ab08373dec84ba282bcd8c868d4500a18fccf6204b5277bb7065 \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/taskfile.json b/src/check_jsonschema/builtin_schemas/vendor/taskfile.json index df0637b7e..74ebfe9d3 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/taskfile.json +++ b/src/check_jsonschema/builtin_schemas/vendor/taskfile.json @@ -349,9 +349,17 @@ "description": "Hides task name and command from output. The command's output will still be redirected to `STDOUT` and `STDERR`.", "type": "boolean" }, + "ignore_error": { + "description": "Prevent the command from aborting the execution of the task when it exits with a non-zero status code", + "type": "boolean" + }, "if": { "description": "A shell command to evaluate. If the exit code is non-zero, the command is skipped.", "type": "string" + }, + "timeout": { + "description": "Maximum duration the command is allowed to run before being terminated. Supports Go duration syntax (e.g., '5m', '30s', '1h').", + "type": "string" } }, "additionalProperties": false, @@ -383,7 +391,7 @@ } }, "ignore_error": { - "description": "Prevent command from aborting the execution of task even after receiving a status code of 1", + "description": "Prevent the command from aborting the execution of the task when it exits with a non-zero status code", "type": "boolean" }, "platforms": { @@ -393,11 +401,38 @@ "if": { "description": "A shell command to evaluate. If the exit code is non-zero, the command is skipped.", "type": "string" + }, + "timeout": { + "description": "Maximum duration the command is allowed to run before being terminated. Supports Go duration syntax (e.g., '5m', '30s', '1h').", + "type": "string" } }, "additionalProperties": false, "required": ["cmd"] }, + "deferred_task_call": { + "type": "object", + "properties": { + "task": { + "description": "Name of the task to run", + "type": "string" + }, + "vars": { + "description": "Values passed to the task called", + "$ref": "#/definitions/vars" + }, + "silent": { + "description": "Hides task name and command from output. The command's output will still be redirected to `STDOUT` and `STDERR`.", + "type": "boolean" + }, + "if": { + "description": "A shell command to evaluate. If the exit code is non-zero, the command is skipped.", + "type": "string" + } + }, + "additionalProperties": false, + "required": ["task"] + }, "defer_task_call": { "type": "object", "properties": { @@ -405,9 +440,13 @@ "description": "Run a command when the task completes. This command will run even when the task fails", "anyOf": [ { - "$ref": "#/definitions/task_call" + "$ref": "#/definitions/deferred_task_call" } ] + }, + "timeout": { + "description": "Maximum duration the command is allowed to run before being terminated. Supports Go duration syntax (e.g., '5m', '30s', '1h').", + "type": "string" } }, "additionalProperties": false, @@ -423,6 +462,10 @@ "silent": { "description": "Hides task name and command from output. The command's output will still be redirected to `STDOUT` and `STDERR`.", "type": "boolean" + }, + "timeout": { + "description": "Maximum duration the command is allowed to run before being terminated. Supports Go duration syntax (e.g., '5m', '30s', '1h').", + "type": "string" } }, "additionalProperties": false, @@ -442,9 +485,35 @@ "description": "Silent mode disables echoing of command before Task runs it", "type": "boolean" }, + "set": { + "description": "Enables POSIX shell options for this command. See https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html", + "type": "array", + "items": { + "$ref": "#/definitions/set" + } + }, + "shopt": { + "description": "Enables Bash shell options for this command. See https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html", + "type": "array", + "items": { + "$ref": "#/definitions/shopt" + } + }, + "ignore_error": { + "description": "Prevent the command from aborting the execution of the task when it exits with a non-zero status code", + "type": "boolean" + }, "platforms": { "description": "Specifies which platforms the command should be run on.", "$ref": "#/definitions/platforms" + }, + "if": { + "description": "A shell command to evaluate. If the exit code is non-zero, the command is skipped.", + "type": "string" + }, + "timeout": { + "description": "Maximum duration the command is allowed to run before being terminated. Supports Go duration syntax (e.g., '5m', '30s', '1h').", + "type": "string" } }, "additionalProperties": false, @@ -468,6 +537,10 @@ "description": "Silent mode disables echoing of command before Task runs it", "type": "boolean" }, + "ignore_error": { + "description": "Prevent the command from aborting the execution of the task when it exits with a non-zero status code", + "type": "boolean" + }, "platforms": { "description": "Specifies which platforms the command should be run on.", "$ref": "#/definitions/platforms" @@ -475,6 +548,10 @@ "if": { "description": "A shell command to evaluate. If the exit code is non-zero, the command is skipped.", "type": "string" + }, + "timeout": { + "description": "Maximum duration the command is allowed to run before being terminated. Supports Go duration syntax (e.g., '5m', '30s', '1h').", + "type": "string" } }, "additionalProperties": false, @@ -497,6 +574,10 @@ "vars": { "description": "Values passed to the task called", "$ref": "#/definitions/vars" + }, + "timeout": { + "description": "Maximum duration the command is allowed to run before being terminated. Supports Go duration syntax (e.g., '5m', '30s', '1h').", + "type": "string" } }, "additionalProperties": false, @@ -746,7 +827,7 @@ } }, "excludes": { - "description": "A list of tasks to be excluded from inclusion.", + "description": "A list of task names or namespace patterns ending in `:*` to be excluded from inclusion.", "type": "array", "items": { "type": "string" diff --git a/src/check_jsonschema/builtin_schemas/vendor/travis.json b/src/check_jsonschema/builtin_schemas/vendor/travis.json index d47f86436..315ac6d1f 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/travis.json +++ b/src/check_jsonschema/builtin_schemas/vendor/travis.json @@ -1,5 +1,6 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://json.schemastore.org/travis.json", "allOf": [ { "$ref": "#/definitions/job" @@ -802,7 +803,7 @@ "mono": { "oneOf": [ { - "enum": ["none"] + "const": "none" }, { "type": "array", @@ -1117,7 +1118,7 @@ "artifacts": { "oneOf": [ { - "enum": [true] + "const": true }, { "type": "object", @@ -1377,7 +1378,7 @@ "cache": { "oneOf": [ { - "enum": [false] + "const": false }, { "$ref": "#/definitions/cache" @@ -1474,7 +1475,7 @@ "default": 50 }, { - "enum": [false] + "const": false } ] }, @@ -1505,7 +1506,7 @@ }, { "type": "string", - "enum": ["input"] + "const": "input" } ], "description": "Specify handling of line endings when cloning repository" @@ -1645,7 +1646,7 @@ "type": "object", "properties": { "provider": { - "enum": ["script"] + "const": "script" }, "script": { "type": "string" @@ -1657,27 +1658,32 @@ "type": "object", "properties": { "provider": { - "enum": ["npm"] + "const": "npm" }, "email": { "$ref": "#/definitions/possiblySecretString" }, - "api_key": { - "$ref": "#/definitions/possiblySecretString" - }, - "api_token": { - "$ref": "#/definitions/possiblySecretString" - }, "tag": { "type": "string" } }, + "required": ["provider", "email"], "oneOf": [ { - "required": ["provider", "email", "api_key"] + "properties": { + "api_key": { + "$ref": "#/definitions/possiblySecretString" + } + }, + "required": ["api_key"] }, { - "required": ["provider", "email", "api_token"] + "properties": { + "api_token": { + "$ref": "#/definitions/possiblySecretString" + } + }, + "required": ["api_token"] } ] }, @@ -1685,7 +1691,7 @@ "type": "object", "properties": { "provider": { - "enum": ["surge"] + "const": "surge" }, "project": { "type": "string" @@ -1700,7 +1706,7 @@ "type": "object", "properties": { "provider": { - "enum": ["releases"] + "const": "releases" }, "api_key": { "$ref": "#/definitions/possiblySecretString" @@ -1739,7 +1745,7 @@ "description": "deploy to heroku, to see https://docs.travis-ci.com/user/deployment/heroku/", "properties": { "provider": { - "enum": ["heroku"] + "const": "heroku" }, "api_key": { "description": "heroku auth token", @@ -1799,7 +1805,7 @@ "type": "object", "properties": { "provider": { - "enum": ["s3"] + "const": "s3" }, "access_key_id": { "$ref": "#/definitions/possiblySecretString" @@ -2267,6 +2273,5 @@ ] } }, - "id": "https://json.schemastore.org/travis.json", "title": "JSON schema for Travis CI configuration files" } diff --git a/src/check_jsonschema/builtin_schemas/vendor/woodpecker-ci.json b/src/check_jsonschema/builtin_schemas/vendor/woodpecker-ci.json index 07653be86..355794956 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/woodpecker-ci.json +++ b/src/check_jsonschema/builtin_schemas/vendor/woodpecker-ci.json @@ -969,21 +969,36 @@ "description": "Read more: https://woodpecker-ci.org/docs/usage/services", "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/service" - }, - "minProperties": 1 + "$ref": "#/definitions/services_map" }, { - "type": "array", - "items": { - "$ref": "#/definitions/service" - }, - "minLength": 1 + "$ref": "#/definitions/services_list" } ] }, + "services_map": { + "description": "Services keyed by name, where the map key is used as the service name. Read more: https://woodpecker-ci.org/docs/usage/services", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/service" + }, + "minProperties": 1 + }, + "services_list": { + "description": "Services as a list. There is no map key to take the name from, so each service must set `name` itself. Read more: https://woodpecker-ci.org/docs/usage/services", + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/service" + }, + { + "required": ["name"] + } + ] + }, + "minLength": 1 + }, "service": { "description": "Read more: https://woodpecker-ci.org/docs/usage/services", "type": "object", @@ -992,7 +1007,7 @@ "required": ["image"], "properties": { "name": { - "description": "The name of the service. Can be used if using the array style services list", + "description": "The name of the service. It is used as the hostname other containers reach the service by, and is required when using the array style services list", "type": "string" }, "image": {