diff --git a/.github/workflows/cron.yaml b/.github/workflows/cron.yaml index a17d8e899..08faca276 100644 --- a/.github/workflows/cron.yaml +++ b/.github/workflows/cron.yaml @@ -24,7 +24,7 @@ jobs: # this action seems to have significant usage, so it should be stable # can always re-implement with `git status --porcelain`, etc. if necessary - name: Create Pull Request - uses: peter-evans/create-pull-request@v6 + uses: peter-evans/create-pull-request@v7 with: title: 'Update vendored schemas' commit-message: '[vendor-schemas] automated update' diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 49ef9ad4f..1ed222977 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,7 +1,7 @@ repos: # dogfood - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.1 + rev: 0.29.2 hooks: - id: check-dependabot - id: check-github-workflows diff --git a/CHANGELOG.rst b/CHANGELOG.rst index eda14c5c1..e1aee2493 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -10,10 +10,17 @@ Unreleased .. vendor-insert-here +0.29.3 +------ + +- Update vendored schemas: buildkite, circle-ci, dependabot, gitlab-ci, + renovate, taskfile, woodpecker-ci (2024-09-29) + 0.29.2 ------ -- Update vendored schemas (2024-08-22) +- Update vendored schemas: buildkite, github-workflows, gitlab-ci, renovate, + woodpecker-ci (2024-08-22) - Convert from ``setup.cfg`` to ``pyproject.toml`` for python package metadata 0.29.1 diff --git a/README.md b/README.md index a401a8fc7..915ea8e13 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ files. ```yaml - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-github-workflows args: ["--verbose"] diff --git a/docs/optional_parsers.rst b/docs/optional_parsers.rst index b3d039020..f812c8b3c 100644 --- a/docs/optional_parsers.rst +++ b/docs/optional_parsers.rst @@ -20,7 +20,7 @@ For example, .. code-block:: yaml - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-renovate additional_dependencies: ['pyjson5'] @@ -45,7 +45,7 @@ For example, .. code-block:: yaml - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-jsonschema name: 'Check GitHub Workflows' diff --git a/docs/precommit_usage.rst b/docs/precommit_usage.rst index debf743e6..aaaf24231 100644 --- a/docs/precommit_usage.rst +++ b/docs/precommit_usage.rst @@ -17,7 +17,7 @@ You must specify a schema using pre-commit ``args`` configuration. :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-jsonschema files: ^data/.*\.json$ @@ -34,7 +34,7 @@ Validate JSON Schema files against their matching metaschema, as specified in th :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-metaschema files: ^schemas/.*\.json$ @@ -52,7 +52,7 @@ Validate Azure Pipelines config against the schema provided by Microsoft :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-azure-pipelines @@ -66,7 +66,7 @@ Validate Bamboo Specs against the schema provided by SchemaStore :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-bamboo-spec @@ -80,7 +80,7 @@ Validate Bitbucket Pipelines against the schema provided by SchemaStore :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-bitbucket-pipelines @@ -94,7 +94,7 @@ Validate Buildkite Pipelines against the schema provided by Buildkite :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-buildkite @@ -108,7 +108,7 @@ Validate CircleCI config against the schema provided by SchemaStore :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-circle-ci @@ -122,7 +122,7 @@ Validate Google Cloud Build config against the schema provided by SchemaStore :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-cloudbuild @@ -136,7 +136,7 @@ Validate Dependabot Config (v2) against the schema provided by SchemaStore :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-dependabot @@ -150,7 +150,7 @@ Validate Drone-CI Config against the schema provided by SchemaStore :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-drone-ci @@ -164,7 +164,7 @@ Validate GitHub Actions against the schema provided by SchemaStore :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-github-actions @@ -178,7 +178,7 @@ Validate GitHub Workflows against the schema provided by SchemaStore :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-github-workflows @@ -192,7 +192,7 @@ Validate GitLab CI config against the schema provided by SchemaStore :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-gitlab-ci @@ -206,7 +206,7 @@ Validate ReadTheDocs config against the schema provided by ReadTheDocs :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-readthedocs @@ -220,7 +220,7 @@ Validate Renovate config against the schema provided by Renovate (does not suppo :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-renovate @@ -234,7 +234,7 @@ Validate Taskfile config against the schema provided by Task :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-taskfile @@ -248,7 +248,7 @@ Validate Travis Config against the schema provided by SchemaStore :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-travis @@ -262,7 +262,7 @@ Validate Woodpecker Config against the schema provided by SchemaStore :caption: example config - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-woodpecker-ci @@ -288,7 +288,7 @@ manually, you could do this: .. code-block:: yaml - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-jsonschema name: "Check GitHub Workflows" @@ -307,7 +307,7 @@ To check with the builtin schema that a GitHub workflow sets .. code-block:: yaml - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-jsonschema name: "Check GitHub Workflows set timeout-minutes" diff --git a/pyproject.toml b/pyproject.toml index 4438ebd6c..b52c25e5b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "check-jsonschema" -version = "0.29.2" +version = "0.29.3" description = "A jsonschema CLI and pre-commit hook" authors = [ { name = "Stephen Rosen", email = "sirosen0@gmail.com" }, @@ -42,9 +42,9 @@ dev = [ "responses==0.25.3", ] docs = [ - "sphinx<8", + "sphinx<9", "sphinx-issues<5", - "furo==2024.7.18", + "furo==2024.8.6", ] [project.scripts] diff --git a/src/check_jsonschema/builtin_schemas/vendor/buildkite.json b/src/check_jsonschema/builtin_schemas/vendor/buildkite.json index 4051ce496..7b12c6650 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/buildkite.json +++ b/src/check_jsonschema/builtin_schemas/vendor/buildkite.json @@ -113,6 +113,49 @@ [ "feature/*", "chore/*" ] ] }, + "cache": { + "description": "The paths for the caches to be used in the step", + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { "type": "string" } + }, + { + "type": "object", + "properties": { + "paths": { + "anyOf": [ + { "type": "string" }, + { + "type": "array", + "items": { "type": "string" } + } + ] + }, + "size": { + "type": "string", + "pattern": "^\\d+g$" + }, + "name": { + "type": "string" + } + }, + "required": ["paths"] + } + ], + "examples": [ + "dist/", + [ ".build/*", "assets/*" ], + { + "name": "cool-cache", + "size": "20g", + "paths": ["/path/one", "/path/two"] + } + ] + }, "cancelOnBuildFailing": { "type": "boolean", "description": "Whether to cancel the job as soon as the build is marked as failing", @@ -968,7 +1011,8 @@ "automatic": { "anyOf": [ { - "type": "boolean" + "type": ["boolean", "string"], + "pattern": "^(true|false)$" }, { "$ref": "#/definitions/commonOptions/automaticRetry" @@ -992,18 +1036,21 @@ "description": "Whether to allow a job to be retried manually", "anyOf": [ { - "type": "boolean" + "type": ["boolean", "string"], + "pattern": "^(true|false)$" }, { "type": "object", "properties": { "allowed": { - "type": "boolean", + "type": ["boolean", "string"], + "pattern": "^(true|false)$", "description": "Whether or not this job can be retried manually", "default": true }, "permit_on_passed": { - "type": "boolean", + "type": ["boolean", "string"], + "pattern": "^(true|false)$", "description": "Whether or not this job can be retried after it has passed", "default": true }, diff --git a/src/check_jsonschema/builtin_schemas/vendor/circle-ci.json b/src/check_jsonschema/builtin_schemas/vendor/circle-ci.json index cc88ac55d..e166908d5 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/circle-ci.json +++ b/src/check_jsonschema/builtin_schemas/vendor/circle-ci.json @@ -1244,6 +1244,8 @@ "description": "The LinuxVM image to use. View available images for [Ubuntu 20.04](https://circleci.com/developer/machine/image/ubuntu-2004), [Ubuntu 22.04](https://circleci.com/developer/machine/image/ubuntu-2204), or [Android](https://circleci.com/developer/machine/image/android). **Note:** This key is **not** supported on the installable CircleCI. For information about customizing machine executor images on CircleCI installed on your servers, see our [VM Service documentation](https://circleci.com/docs/vm-service).", "type": "string", "enum": [ + "ubuntu-2004:2024.08.1", + "ubuntu-2004:2024.05.1", "ubuntu-2004:2024.04.4", "ubuntu-2004:2024.01.2", "ubuntu-2004:2024.01.1", @@ -1266,6 +1268,8 @@ "ubuntu-2004:202010-01", "ubuntu-2004:current", "ubuntu-2004:edge", + "ubuntu-2204:2024.08.1", + "ubuntu-2204:2024.05.1", "ubuntu-2204:2024.04.4", "ubuntu-2204:2024.01.2", "ubuntu-2204:2024.01.1", @@ -1282,6 +1286,10 @@ "ubuntu-2204:2022.04.1", "ubuntu-2204:current", "ubuntu-2204:edge", + "ubuntu-2404:2024.08.1", + "ubuntu-2404:2024.05.1", + "ubuntu-2404:current", + "ubuntu-2404:edge", "android:2024.04.1", "android:2024.01.1", "android:2023.11.1", diff --git a/src/check_jsonschema/builtin_schemas/vendor/dependabot.json b/src/check_jsonschema/builtin_schemas/vendor/dependabot.json index 760323315..976fe12e2 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/dependabot.json +++ b/src/check_jsonschema/builtin_schemas/vendor/dependabot.json @@ -4,7 +4,6 @@ "additionalProperties": false, "definitions": { "timezone": { - "$id": "timezone", "type": "string", "enum": [ "Africa/Abidjan", diff --git a/src/check_jsonschema/builtin_schemas/vendor/gitlab-ci.json b/src/check_jsonschema/builtin_schemas/vendor/gitlab-ci.json index cddccef38..d7293b704 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/gitlab-ci.json +++ b/src/check_jsonschema/builtin_schemas/vendor/gitlab-ci.json @@ -196,7 +196,10 @@ }, "definitions": { "artifacts": { - "type": "object", + "type": [ + "object", + "null" + ], "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/ee/ci/yaml/#artifacts).", "additionalProperties": false, "properties": { @@ -829,6 +832,18 @@ "properties": { "name": { "type": "string" + }, + "data_key": { + "type": "string" + }, + "cert_user_name": { + "type": "string" + }, + "public_key_data": { + "type": "string" + }, + "csr_data": { + "type": "string" } }, "additionalProperties": false @@ -2377,6 +2392,10 @@ "path_prefix": { "type": "string", "markdownDescription": "The GitLab Pages URL path prefix used in this version of pages. The given value is converted to lowercase, shortened to 63 bytes, and everything except alphanumeric characters is replaced with a hyphen. Leading and trailing hyphens are not permitted." + }, + "expire_in": { + "type": "string", + "markdownDescription": "How long the deployment should be active. Deployments that have expired are no longer available on the web. 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'. Set to 'never' to prevent extra deployments from expiring. [Learn More](https://docs.gitlab.com/ee/ci/yaml/#pagesexpire_in)." } } } diff --git a/src/check_jsonschema/builtin_schemas/vendor/renovate.json b/src/check_jsonschema/builtin_schemas/vendor/renovate.json index aba7dc572..08cacad43 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/renovate.json +++ b/src/check_jsonschema/builtin_schemas/vendor/renovate.json @@ -333,6 +333,11 @@ }, "$ref": "#" }, + "bbAutoResolvePrTasks": { + "description": "The PR tasks will be automatically completed after the PR is raised.", + "type": "boolean", + "default": false + }, "bbUseDefaultReviewers": { "description": "Use the default reviewers (Bitbucket only).", "type": "boolean", @@ -455,6 +460,17 @@ }, "$ref": "#" }, + "bun-version": { + "description": "Configuration object for the bun-version manager", + "type": "object", + "default": { + "fileMatch": [ + "(^|/)\\.bun-version$" + ], + "versioning": "npm" + }, + "$ref": "#" + }, "bundler": { "description": "Configuration object for the bundler manager", "type": "object", @@ -1001,7 +1017,7 @@ "dockerSidecarImage": { "description": "Change this value to override the default Renovate sidecar image.", "type": "string", - "default": "ghcr.io/containerbase/sidecar:11.11.6" + "default": "ghcr.io/containerbase/sidecar:11.11.26" }, "dockerUser": { "description": "Set the `UID` and `GID` for Docker-based binaries if you use `binarySource=docker`.", @@ -3510,9 +3526,43 @@ "rangeStrategy": "update-lockfile", "commitMessageSuffix": "[SECURITY]", "branchTopic": "{{{datasource}}}-{{{depNameSanitized}}}-vulnerability", - "prCreation": "immediate" + "prCreation": "immediate", + "vulnerabilityFixStrategy": "lowest" }, - "$ref": "#" + "$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" + } + ] + }, + "vulnerabilityFixStrategy": { + "description": "Strategy to use when fixing vulnerabilities. `lowest` will propose the earliest version with a fix, `highest` will always pick the latest version.", + "type": "string", + "enum": [ + "lowest", + "highest" + ], + "default": "lowest" + } + } + } + ] + } }, "woodpecker": { "description": "Configuration object for the woodpecker manager", diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/buildkite.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/buildkite.sha256 index 1b860cee8..6c4c66865 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/buildkite.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/buildkite.sha256 @@ -1 +1 @@ -fc4099c34baf2b186d08170f54b97264b7c492fc5aab0f263234af3db9cf60d3 \ No newline at end of file +06c2303d3c39c1898b43791708f8792397ce932ee4e7bc8136761dbd9b962016 \ 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 21a273a4f..291ae507f 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 @@ -2463b456c46789f2ec2f6c9beaca294d10ee7520e021aa775fd1854eb608dd53 \ No newline at end of file +9ad1566d20e39aa31b80fd8b0dd5260dbee7c7a31004788870f5aad72357a0df \ 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 15b777f55..e05199e79 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/dependabot.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/dependabot.sha256 @@ -1 +1 @@ -1faf572ced1c1dea55a27128d761e32b3b6911e47daa3da003f2db66d8ef71be \ No newline at end of file +1f5afac7eb5ee50963833afee1cc7a714ae1b097ab24ec2e91b760e6baa30b76 \ 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 7d926b2a6..711faf977 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 @@ -92d3e0c05e41438d3d43227dd42cde6a71bda64156b31bf44e57a18de950641d \ No newline at end of file +7424b31d028166a644abc58bd0295d305a37bcd82e84e3bf5e13f7e207c45281 \ 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 715bf656d..46af2d1e2 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/renovate.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/renovate.sha256 @@ -1 +1 @@ -4d57da18696b9d84e17ba73cdd0cdbbe606701f16ff9ac30f38a3f6359a6a9e6 \ No newline at end of file +c57caa2f7b710695628492dba3a56dee4731751ffb9e9127d5a90230715ad459 \ 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 dd4afb80c..5551c7024 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/taskfile.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/taskfile.sha256 @@ -1 +1 @@ -326c9ebefc80d262b106ef252fecad30b389aace8a3936bac6049116b25efb7d \ No newline at end of file +32b9a4b87c55bc0acde937a77d121671ffbd8e62304f84e85fc1de54e6cd5547 \ 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 b17df43d8..57e6216dc 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 @@ -c8cb2cc10d929ae47d4349b9f977bca534913b4d01a5e258c35c05dfe4f5417d \ No newline at end of file +2008ccfc77aff49680bca81dea4b4d1ba348f606184bfce63a0b0a2bcdd3b9e1 \ 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 899adff56..f87511f56 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/taskfile.json +++ b/src/check_jsonschema/builtin_schemas/vendor/taskfile.json @@ -431,6 +431,9 @@ }, { "$ref": "#/definitions/for_var" + }, + { + "$ref": "#/definitions/for_matrix" } ] }, @@ -467,6 +470,12 @@ "additionalProperties": false, "required": ["var"] }, + "for_matrix": { + "description": "A matrix of values to iterate over", + "type": "object", + "additionalProperties": true, + "required": ["matrix"] + }, "precondition": { "anyOf": [ { @@ -610,6 +619,10 @@ "description": "If `true`, no errors will be thrown if the specified file does not exist.", "type": "boolean" }, + "flatten": { + "description": "If `true`, the tasks from the included Taskfile will be available in the including Taskfile without a namespace. If a task with the same name already exists in the including Taskfile, an error will be thrown.", + "type": "boolean" + }, "internal": { "description": "Stops any task in the included Taskfile from being callable on the command line. These commands will also be omitted from the output when used with `--list`.", "type": "boolean" diff --git a/src/check_jsonschema/builtin_schemas/vendor/woodpecker-ci.json b/src/check_jsonschema/builtin_schemas/vendor/woodpecker-ci.json index 026dda685..6128ce15b 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/woodpecker-ci.json +++ b/src/check_jsonschema/builtin_schemas/vendor/woodpecker-ci.json @@ -227,13 +227,10 @@ }, "step": { "description": "A step of your workflow executes either arbitrary commands or uses a plugin. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#steps", - "oneOf": [ + "anyOf": [ { "$ref": "#/definitions/commands_step" }, - { - "$ref": "#/definitions/entrypoint_step" - }, { "$ref": "#/definitions/plugin_step" } @@ -243,89 +240,29 @@ "description": "Every step of your pipeline executes arbitrary commands inside a specified docker container. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#steps", "type": "object", "additionalProperties": false, - "required": ["image", "commands"], - "properties": { - "name": { - "description": "The name of the step. Can be used if using the array style steps list.", - "type": "string" - }, - "image": { - "$ref": "#/definitions/step_image" - }, - "privileged": { - "$ref": "#/definitions/step_privileged" - }, - "pull": { - "$ref": "#/definitions/step_pull" - }, - "commands": { - "$ref": "#/definitions/step_commands" - }, - "environment": { - "$ref": "#/definitions/step_environment" - }, - "directory": { - "$ref": "#/definitions/step_directory" - }, - "secrets": { - "$ref": "#/definitions/step_secrets" - }, - "when": { - "$ref": "#/definitions/step_when" - }, - "volumes": { - "$ref": "#/definitions/step_volumes" - }, - "depends_on": { - "description": "Execute a step after another step has finished.", - "oneOf": [ - { - "type": "array", - "minLength": 1, - "items": { - "type": "string" + "required": ["image"], + "allOf": [ + { + "if": { + "properties": { + "detach": { + "const": true } - }, - { - "type": "string" } - ] - }, - "detach": { - "description": "Detach a step to run in background until pipeline finishes. Read more: https://woodpecker-ci.org/docs/usage/services#detachment", - "type": "boolean" - }, - "failure": { - "description": "How to handle the failure of this step. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#failure", - "type": "string", - "enum": ["fail", "ignore"], - "default": "fail" - }, - "backend_options": { - "$ref": "#/definitions/step_backend_options" - }, - "entrypoint": { - "description": "Defines container entrypoint.", - "oneOf": [ - { - "type": "array", - "minLength": 1, - "items": { - "type": "string" + }, + "then": {}, + "else": { + "anyOf": [ + { + "required": ["commands"] + }, + { + "required": ["entrypoint"] } - }, - { - "type": "string" - } - ] + ] + } } - } - }, - "entrypoint_step": { - "description": "Every step of your pipeline executes arbitrary commands inside a specified docker container. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#steps", - "type": "object", - "additionalProperties": false, - "required": ["image", "entrypoint"], + ], "properties": { "name": { "description": "The name of the step. Can be used if using the array style steps list.", @@ -905,6 +842,9 @@ "environment": { "$ref": "#/definitions/step_environment" }, + "directory": { + "$ref": "#/definitions/step_directory" + }, "secrets": { "$ref": "#/definitions/step_secrets" },