Skip to content

Commit f99d4e6

Browse files
[vendor-schemas] automated update (#387)
Co-authored-by: sirosen <[email protected]>
1 parent ffdf8fe commit f99d4e6

File tree

5 files changed

+144
-28
lines changed

5 files changed

+144
-28
lines changed

CHANGELOG.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Unreleased
1010

1111
.. vendor-insert-here
1212
13-
- Update vendored schemas (2024-01-31)
13+
- Update vendored schemas (2024-02-01)
1414

1515
0.27.4
1616
------

src/check_jsonschema/builtin_schemas/vendor/cloudbuild.json

Lines changed: 128 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"$schema": "http://json-schema.org/draft-07/schema#",
33
"$id": "https://json.schemastore.org/cloudbuild",
4+
"$comment": "See the Cloud Build config schema at https://cloud.google.com/build/docs/build-config-file-schema for the definitions.",
45
"definitions": {
56
"BuildStep": {
67
"description": "A step in the build pipeline.",
@@ -19,7 +20,7 @@
1920
"description": "Specify that a build step failure can be ignored when that step returns a particular exit code.",
2021
"type": "array",
2122
"items": {
22-
"type": "number"
23+
"type": "integer"
2324
}
2425
},
2526
"waitFor": {
@@ -59,12 +60,8 @@
5960
}
6061
},
6162
"timeout": {
62-
"type": "string",
63-
"description": "Time limit for executing this build step. If not defined, the step has no\ntime limit and will be allowed to continue to run until either it completes\nor the build itself times out.",
64-
"format": "google-duration",
65-
"pattern": "^\\d+(\\.\\d{0,9})?s$",
66-
"default": "600s",
67-
"examples": ["3.5s"]
63+
"$ref": "#/definitions/Timeout",
64+
"description": "Time limit for executing this build step. If not defined, the step has no\ntime limit and will be allowed to continue to run until either it completes\nor the build itself times out."
6865
},
6966
"id": {
7067
"description": "Unique identifier for this build step, used in `wait_for` to\nreference this build step as a dependency.",
@@ -86,6 +83,7 @@
8683
"BuildOptions": {
8784
"description": "Optional arguments to enable specific features of builds.",
8885
"type": "object",
86+
"additionalProperties": false,
8987
"properties": {
9088
"machineType": {
9189
"enum": [
@@ -148,9 +146,18 @@
148146
"Build logs should not be streamed to Google Cloud Storage; they will be\nwritten when the build is completed."
149147
]
150148
},
151-
"workerPool": {
152-
"description": "Option to specify a `WorkerPool` for the build. User specifies the pool\nwith the format \"[WORKERPOOL_PROJECT_ID]/[WORKERPOOL_NAME]\".\nThis is an experimental field.",
153-
"type": "string"
149+
"pool": {
150+
"description": "Set the value of this field to the resource name of the private pool to run the build.",
151+
"type": "object",
152+
"properties": {
153+
"name": {
154+
"description": "Required. The full resource name of the private pool of the form 'projects/$PRIVATEPOOL_PROJECT_ID/locations/$REGION/workerPools/$PRIVATEPOOL_ID'.",
155+
"type": "string",
156+
"pattern": "^projects/\\w+/locations/\\w+/workerPools/\\w+$"
157+
}
158+
},
159+
"additionalProperties": false,
160+
"required": ["name"]
154161
},
155162
"env": {
156163
"description": "A list of global environment variable definitions that will exist for all\nbuild steps in this build. If a variable is defined in both globally and in\na build step, the variable will use the build step value.\n\nThe elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\"\nbeing given the value \"VALUE\".",
@@ -177,6 +184,14 @@
177184
"Turn off all logging. No build logs will be captured."
178185
]
179186
},
187+
"defaultLogsBucketBehavior": {
188+
"description": "Configure Cloud Build to create a default logs bucket within your own project in the same region as your build.",
189+
"type": "string",
190+
"enumDescriptions": [
191+
"Configure Cloud Build to use regionalized, user-owned logs"
192+
],
193+
"enum": ["REGIONAL_USER_OWNED_BUCKET"]
194+
},
180195
"requestedVerifyOption": {
181196
"description": "Requested verifiability options.",
182197
"type": "string",
@@ -195,10 +210,13 @@
195210
"Do not fail the build if error in substitutions checks."
196211
]
197212
},
213+
"dynamicSubstitutions": {
214+
"description": "Use this option to explicitly enable or disable bash parameter expansion in substitutions.\nIf your build is invoked by a trigger, the `dynamicSubstitutions` field is\nalways set to `true` and does not need to be specified in your build config file.\nIf your build is invoked manually, you must set the `dynamicSubstitutions` field to `true` for bash parameter expansions to be interpreted when running your build.",
215+
"type": "boolean"
216+
},
198217
"diskSizeGb": {
199218
"description": "Requested disk size for the VM that runs the build. Note that this is *NOT*\n\"disk free\"; some of the space will be used by the operating system and\nbuild utilities. Also note that this is the minimum disk size that will be\nallocated for the build -- the build may run with a larger disk than\nrequested. At present, the maximum disk size is 1000GB; builds that request\nmore than the maximum are rejected with an error.",
200-
"format": "int64",
201-
"type": "string"
219+
"type": "integer"
202220
},
203221
"secretEnv": {
204222
"description": "A list of global environment variables, which are encrypted using a Cloud\nKey Management Service crypto key. These values must be specified in the\nbuild's `Secret`. These variables will be available to all build steps\nin this build.",
@@ -233,7 +251,6 @@
233251
"secretEnv": {
234252
"type": "object",
235253
"additionalProperties": {
236-
"format": "byte",
237254
"type": "string"
238255
},
239256
"description": "Map of environment variable name to its encrypted value.\n\nSecret environment variables must be unique across all of a build's\nsecrets, and must be used by at least one build step. Values can be at most\n64 KB in size. There can be at most 100 secret values across all of a\nbuild's secrets."
@@ -261,8 +278,7 @@
261278
"properties": {
262279
"generation": {
263280
"type": "string",
264-
"description": "Google Cloud Storage generation for the object. If the generation is\nomitted, the latest generation will be used.",
265-
"format": "int64"
281+
"description": "Google Cloud Storage generation for the object. If the generation is\nomitted, the latest generation will be used."
266282
},
267283
"bucket": {
268284
"description": "Google Cloud Storage bucket containing the source (see\n[Bucket Name\nRequirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).",
@@ -312,11 +328,25 @@
312328
"$ref": "#/definitions/ArtifactObjects",
313329
"description": "A list of objects to be uploaded to Cloud Storage upon successful\ncompletion of all build steps.\n\nFiles in the workspace matching specified paths globs will be uploaded to\nthe specified Cloud Storage location using the builder service account's\ncredentials.\n\nThe location and generation of the uploaded objects will be stored in the\nBuild resource's results field.\n\nIf any objects fail to be pushed, the build is marked FAILURE."
314330
},
315-
"images": {
316-
"description": "A list of images to be pushed upon the successful completion of all build\nsteps.\n\nThe images will be pushed using the builder service account's credentials.\n\nThe digests of the pushed images will be stored in the Build resource's\nresults field.\n\nIf any of the images fail to be pushed, the build is marked FAILURE.",
331+
"mavenArtifacts": {
332+
"description": "Allows you to upload non-container Java artifacts to Maven repositories in Artifact Registry.",
317333
"type": "array",
318334
"items": {
319-
"type": "string"
335+
"$ref": "#/definitions/MavenArtifacts"
336+
}
337+
},
338+
"pythonPackages": {
339+
"description": "Allows you to upload Python packages to Artifact Registry.",
340+
"type": "array",
341+
"items": {
342+
"$ref": "#/definitions/PythonPackages"
343+
}
344+
},
345+
"npmPackages": {
346+
"description": "Uploads your built NPM packages to supported repositories..",
347+
"type": "array",
348+
"items": {
349+
"$ref": "#/definitions/NpmPackages"
320350
}
321351
}
322352
}
@@ -338,6 +368,69 @@
338368
}
339369
}
340370
},
371+
"MavenArtifacts": {
372+
"description": "Allows you to upload non-container Java artifacts to Maven repositories in Artifact Registry.",
373+
"type": "object",
374+
"additionalProperties": false,
375+
"properties": {
376+
"repository": {
377+
"description": "Required. Name of the Artifact Registry repository to store Java artifacts.",
378+
"type": "string"
379+
},
380+
"path": {
381+
"description": "Required. The application file path.",
382+
"type": "string"
383+
},
384+
"artifactId": {
385+
"description": "Required. Name of your package file created from your build step",
386+
"type": "string"
387+
},
388+
"groupId": {
389+
"description": "Required. Uniquely identifies your project across all Maven projects, in the format `com.mycompany.app`.",
390+
"type": "string"
391+
},
392+
"version": {
393+
"description": "Required. The version number for your application.",
394+
"type": "string"
395+
}
396+
},
397+
"required": ["repository", "path", "artifactId", "groupId", "version"]
398+
},
399+
"PythonPackages": {
400+
"description": "Allows you to upload Python packages to Artifact Registry.",
401+
"type": "object",
402+
"additionalProperties": false,
403+
"properties": {
404+
"repository": {
405+
"description": "Required. Name of the Artifact Registry repository to store the Python package.",
406+
"type": "string"
407+
},
408+
"paths": {
409+
"description": "Required. The package file paths.",
410+
"type": "array",
411+
"items": {
412+
"type": "string"
413+
}
414+
}
415+
},
416+
"required": ["repository", "paths"]
417+
},
418+
"NpmPackages": {
419+
"description": "Uploads your built NPM packages to supported repositories.",
420+
"type": "object",
421+
"additionalProperties": false,
422+
"properties": {
423+
"repository": {
424+
"description": "Required. Name of the Artifact Registry repository to store the NPM package.",
425+
"type": "string"
426+
},
427+
"packagePath": {
428+
"description": "Required. The path for the local directory containing the NPM package that you\nwant to upload to Artifact Registry.\nGoogle recommends using an absolute path.\nYour `packagePath` value can be `.` to use the current working directory, but the field cannot be omitted or left empty.\nThis directory must contain a `package.json` file.",
429+
"type": "string"
430+
}
431+
},
432+
"required": ["repository", "packagePath"]
433+
},
341434
"Volume": {
342435
"description": "Volume describes a Docker container volume which is mounted into build steps\nin order to persist files across build step execution.",
343436
"type": "object",
@@ -351,6 +444,12 @@
351444
"type": "string"
352445
}
353446
}
447+
},
448+
"Timeout": {
449+
"type": "string",
450+
"description": "Time limit for executing the build or particular build step. The `timeout` field of a build step specifies the amount of time the step is allowed to run,\nand the `timeout` field of a build specifies the amount of time the build is allowed to run.",
451+
"pattern": "^\\d+(\\.\\d{0,9})?s$",
452+
"examples": ["3.5s"]
354453
}
355454
},
356455
"description": "A build resource in the Cloud Build API.\n\nAt a high level, a `Build` describes where to find source code, how to build\nit (for example, the builder image to run on the source), and where to store\nthe built artifacts.\n\nFields can include the following variables, which will be expanded when the\nbuild is created:\n\n- $PROJECT_ID: the project ID of the build.\n- $BUILD_ID: the autogenerated ID of the build.\n- $REPO_NAME: the source repository name specified by RepoSource.\n- $BRANCH_NAME: the branch name specified by RepoSource.\n- $TAG_NAME: the tag name specified by RepoSource.\n- $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or\n resolved from the specified branch or tag.\n- $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.",
@@ -371,7 +470,7 @@
371470
"items": {
372471
"type": "string"
373472
},
374-
"description": "Tags for annotation of a `Build`. These are not docker tags."
473+
"description": "Tags for organizing and filtering builds."
375474
},
376475
"substitutions": {
377476
"additionalProperties": {
@@ -400,12 +499,9 @@
400499
"description": "Artifacts produced by the build that should be uploaded upon\nsuccessful completion of all build steps."
401500
},
402501
"timeout": {
403-
"description": "Amount of time that this build should be allowed to run, to second\ngranularity. If this amount of time elapses, work on the build will cease\nand the build status will be `TIMEOUT`.\n\nDefault time is ten minutes.",
404-
"format": "google-duration",
405-
"type": "string",
406-
"pattern": "^\\d+(\\.\\d{0,9})?s$",
407-
"default": "600s",
408-
"examples": ["3.5s"]
502+
"$ref": "#/definitions/Timeout",
503+
"description": "Amount of time that this build should be allowed to run, to second\ngranularity. If this amount of time elapses, work on the build will cease\nand the build status will be `TIMEOUT`",
504+
"default": "600s"
409505
},
410506
"secrets": {
411507
"description": "Secrets to decrypt using Cloud Key Management Service.",
@@ -418,6 +514,13 @@
418514
"description": "Use this field to specify the IAM service account to use at build time.",
419515
"type": "string",
420516
"pattern": "^projects/\\w+/serviceAccounts/\\w+$"
517+
},
518+
"queueTtl": {
519+
"description": "Specifies the amount of time a build can be queued.\nIf a build is in the queue for longer than the value set in `queueTtl`, the build expires and the build status is set to `EXPIRED`.",
520+
"type": "string",
521+
"pattern": "^\\d+(\\.\\d{0,9})?s$",
522+
"examples": ["3.5s"],
523+
"default": "3600s"
421524
}
422525
},
423526
"required": ["steps"],
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8016673e8b1ae32e742fd36b96ae472b2cce6eb5802e1121057316771f6f0ecf
1+
324af1f7759db75af2dac70e8f1fa304e159a7bb72c644434acc4ae221b25fe8

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@
6161
"id_tokens": {
6262
"$ref": "#/definitions/id_tokens"
6363
},
64+
"identity_provider": {
65+
"$ref": "#/definitions/identity_provider"
66+
},
6467
"retry": {
6568
"$ref": "#/definitions/retry"
6669
},
@@ -703,6 +706,13 @@
703706
}
704707
}
705708
},
709+
"identity_provider": {
710+
"type": "string",
711+
"markdownDescription": "Sets an identity provider (experimental), allowing automatic authentication with the external provider. [Learn More](https://docs.gitlab.com/ee/ci/yaml/#identity_provider).",
712+
"enum": [
713+
"google_cloud"
714+
]
715+
},
706716
"secrets": {
707717
"type": "object",
708718
"markdownDescription": "Defines secrets to be injected as environment variables. [Learn More](https://docs.gitlab.com/ee/ci/yaml/#secrets).",
@@ -1632,6 +1642,9 @@
16321642
"id_tokens": {
16331643
"$ref": "#/definitions/id_tokens"
16341644
},
1645+
"identity_provider": {
1646+
"$ref": "#/definitions/identity_provider"
1647+
},
16351648
"secrets": {
16361649
"$ref": "#/definitions/secrets"
16371650
},
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
334882a680fa267daf0ab239bc728e32aef5913cb9f0aa68c0b7e5bb8b3cb1b0
1+
9bf0a51ea9fc1bfacb59573975d5692fcf78e93c2dd55bf265637a57d00e069d

0 commit comments

Comments
 (0)