Created
January 20, 2023 03:36
-
-
Save dacci/6ccf1b1cdcb93228f574137c05e82491 to your computer and use it in GitHub Desktop.
JSON schema for AWS CodeBuild buildspec.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "$ref": "#/definitions/BuildSpec", | |
| "definitions": { | |
| "BuildSpec": { | |
| "type": "object", | |
| "required": [ | |
| "version" | |
| ], | |
| "additionalProperties": false, | |
| "properties": { | |
| "version": { | |
| "type": "number", | |
| "enum": [ | |
| 0.1, | |
| 0.2 | |
| ] | |
| }, | |
| "run-as": { | |
| "type": "string" | |
| }, | |
| "env": { | |
| "$ref": "#/definitions/Env" | |
| }, | |
| "proxy": { | |
| "$ref": "#/definitions/Proxy" | |
| }, | |
| "batch": { | |
| "$ref": "#/definitions/Batch" | |
| }, | |
| "phases": { | |
| "$ref": "#/definitions/Phases" | |
| }, | |
| "reports": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": { | |
| "$ref": "#/definitions/Report" | |
| } | |
| }, | |
| "artifacts": { | |
| "$ref": "#/definitions/Artifacts" | |
| }, | |
| "cache": { | |
| "$ref": "#/definitions/Cache" | |
| } | |
| } | |
| }, | |
| "YesNo": { | |
| "type": "string", | |
| "enum": [ | |
| "yes", | |
| "no" | |
| ] | |
| }, | |
| "Map": { | |
| "type": "object", | |
| "additionalProperties": { | |
| "type": "string" | |
| } | |
| }, | |
| "Env": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": false, | |
| "properties": { | |
| "shell": { | |
| "type": "string", | |
| "enum": [ | |
| "bash", | |
| "/bin/sh", | |
| "powershell.exe", | |
| "cmd.exe" | |
| ] | |
| }, | |
| "variables": { | |
| "$ref": "#/definitions/Map" | |
| }, | |
| "parameter-store": { | |
| "$ref": "#/definitions/Map" | |
| }, | |
| "secrets-manager": { | |
| "$ref": "#/definitions/Map" | |
| }, | |
| "exported-variables": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "git-credential-helper": { | |
| "$ref": "#/definitions/YesNo" | |
| } | |
| } | |
| }, | |
| "Proxy": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": false, | |
| "properties": { | |
| "upload-artifacts": { | |
| "$ref": "#/definitions/YesNo" | |
| }, | |
| "logs": { | |
| "$ref": "#/definitions/YesNo" | |
| } | |
| } | |
| }, | |
| "Batch": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": false, | |
| "properties": { | |
| "fast-fail": { | |
| "type": "boolean" | |
| }, | |
| "build-graph": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/BatchBuild" | |
| } | |
| }, | |
| "build-list": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/BatchBuild" | |
| } | |
| }, | |
| "build-matrix": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/BuildMatrix" | |
| } | |
| } | |
| } | |
| }, | |
| "BatchBuild": { | |
| "type": "object", | |
| "required": [ | |
| "identifier" | |
| ], | |
| "additionalProperties": false, | |
| "properties": { | |
| "identifier": { | |
| "type": "string" | |
| }, | |
| "buildspec": { | |
| "type": "string" | |
| }, | |
| "debug-session": { | |
| "type": "boolean" | |
| }, | |
| "depend-on": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "env": { | |
| "$ref": "#/definitions/BatchEnv" | |
| }, | |
| "ignore-failure": { | |
| "type": "boolean" | |
| } | |
| } | |
| }, | |
| "BatchEnv": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": false, | |
| "properties": { | |
| "compute-type": { | |
| "type": "string" | |
| }, | |
| "image": { | |
| "type": "string" | |
| }, | |
| "privileged-mode": { | |
| "type": "boolean" | |
| }, | |
| "type": { | |
| "type": "string" | |
| }, | |
| "variables": {} | |
| } | |
| }, | |
| "BuildMatrix": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": false, | |
| "properties": { | |
| "static": { | |
| "$ref": "#/definitions/StaticBuild" | |
| }, | |
| "dynamic": { | |
| "$ref": "#/definitions/DynamicBuild" | |
| } | |
| } | |
| }, | |
| "StaticBuild": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": false, | |
| "properties": { | |
| "ignore-failure": { | |
| "type": "boolean" | |
| }, | |
| "env": { | |
| "$ref": "#/definitions/StaticBuildEnv" | |
| } | |
| } | |
| }, | |
| "StaticBuildEnv": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": false, | |
| "properties": { | |
| "privileged-mode": { | |
| "type": "boolean" | |
| }, | |
| "type": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "DynamicBuild": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": false, | |
| "properties": { | |
| "buildspec": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "env": { | |
| "$ref": "#/definitions/DynamicBuildEnv" | |
| } | |
| } | |
| }, | |
| "DynamicBuildEnv": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": false, | |
| "properties": { | |
| "compute-type": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "image": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "variables": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/Map" | |
| } | |
| } | |
| } | |
| }, | |
| "Phases": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": false, | |
| "properties": { | |
| "install": { | |
| "$ref": "#/definitions/InstallPhase" | |
| }, | |
| "pre_build": { | |
| "$ref": "#/definitions/BuildPhase" | |
| }, | |
| "build": { | |
| "$ref": "#/definitions/BuildPhase" | |
| }, | |
| "post_build": { | |
| "$ref": "#/definitions/BuildPhase" | |
| } | |
| } | |
| }, | |
| "InstallPhase": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": false, | |
| "properties": { | |
| "run-as": { | |
| "type": "string" | |
| }, | |
| "on-failure": { | |
| "type": "string", | |
| "enum": [ | |
| "ABORT", | |
| "CONTINUE" | |
| ] | |
| }, | |
| "runtime-versions": { | |
| "$ref": "#/definitions/Map" | |
| }, | |
| "commands": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "finally": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| } | |
| }, | |
| "BuildPhase": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": true, | |
| "properties": { | |
| "run-as": { | |
| "type": "string" | |
| }, | |
| "on-failure": { | |
| "type": "string", | |
| "enum": [ | |
| "ABORT", | |
| "CONTINUE" | |
| ] | |
| }, | |
| "commands": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "finally": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| } | |
| }, | |
| "Report": { | |
| "type": "object", | |
| "required": [ | |
| "files" | |
| ], | |
| "additionalProperties": false, | |
| "properties": { | |
| "files": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "file-format": { | |
| "type": "string", | |
| "enum": [ | |
| "CUCUMBERJSON", | |
| "JUNITXML", | |
| "NUNITXML", | |
| "NUNIT3XML", | |
| "TESTNGXML", | |
| "VISUALSTUDIOTRX", | |
| "CLOVERXML", | |
| "COBERTURAXML", | |
| "JACOCOXML", | |
| "SIMPLECOV" | |
| ] | |
| }, | |
| "base-directory": { | |
| "type": "string" | |
| }, | |
| "discard-paths": { | |
| "$ref": "#/definitions/YesNo" | |
| } | |
| } | |
| }, | |
| "Artifacts": { | |
| "type": "object", | |
| "required": [ | |
| "files" | |
| ], | |
| "additionalProperties": false, | |
| "properties": { | |
| "files": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "discard-paths": { | |
| "$ref": "#/definitions/YesNo" | |
| }, | |
| "base-directory": { | |
| "type": "string" | |
| }, | |
| "exclude-paths": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "enable-symlinks": { | |
| "$ref": "#/definitions/YesNo" | |
| }, | |
| "s3-prefix": { | |
| "type": "string" | |
| }, | |
| "secondary-artifacts": { | |
| "type": "object", | |
| "required": [], | |
| "additionalProperties": { | |
| "$ref": "#/definitions/SecondaryArtifact" | |
| } | |
| } | |
| } | |
| }, | |
| "SecondaryArtifact": { | |
| "type": "object", | |
| "required": [ | |
| "files" | |
| ], | |
| "additionalProperties": false, | |
| "properties": { | |
| "files": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "discard-paths": { | |
| "$ref": "#/definitions/YesNo" | |
| }, | |
| "base-directory": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "Cache": { | |
| "type": "object", | |
| "required": [ | |
| "paths" | |
| ], | |
| "additionalProperties": false, | |
| "properties": { | |
| "paths": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment