-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmanifest_schema.yaml
60 lines (59 loc) · 1.37 KB
/
manifest_schema.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# This is a schema for YAML-formatted Manifest files used by LTD Mason.
#
# Formally, we use Draft 4 of JSON Schema, though encoded as YAML.
# See http://json-schema.org for schema spec, and
# http://spacetelescope.github.io/understanding-json-schema/ for a useful
# guide to JSON schemas.
#
# ltdmason.Manifest uses this schema to validate input Manifest files. A
# developer can run this validation manually as well:
#
# import yaml
# from ltdmason.manifest import Manifest
# manifest_data = yaml.safeload(...)
# Manifest.validate(manifest_data)
$schema: "http://json-schema.org/draft-04/schema#"
$id: "https://github.com/lsst-sqre/ltd-mason/manifest_schema.yaml"
type: "object"
required:
- "product_name"
- "build_id"
- "refs"
- "requester_github_handle"
- "doc_repo"
- "packages"
properties:
product_name:
type: "string"
build_id:
type: "string"
refs:
type: "array"
items:
type: "string"
requester_github_handle:
type: "string"
doc_repo:
type: "object"
required:
- "url"
- "ref"
properties:
url:
type: "string"
ref:
type: "string"
packages:
additionalProperties:
type: "object"
required:
- "dir"
- "url"
- "ref"
properties:
dir:
type: "string"
url:
type: "string"
ref:
type: "string"