Merge "jjb/releng: fix compass-container $DOCKERFILE"
[releng.git] / releases / schema.yaml
1 ##############################################################################
2 # Copyright (c) 2018 Linux Foundation and others.
3 # All rights reserved. This program and the accompanying materials
4 # are made available under the terms of the Apache License, Version 2.0
5 # which accompanies this distribution, and is available at
6 # http://www.apache.org/licenses/LICENSE-2.0
7 ##############################################################################
8 ---
9 $schema: 'http://json-schema.org/schema#'
10 $id: 'https://github.com/opnfv/releng/blob/master/releases/schema.yaml'
11
12 additionalProperties: false
13
14 required:
15   - 'project'
16   - 'project-type'
17
18 properties:
19   project:
20     type: 'string'
21   release-model:
22     type: 'string'
23     enum: ['stable', 'non-release']
24   project-type:
25     type: 'string'
26     enum: ['installer', 'testing', 'feature', 'tools', 'infra']
27   upstream:
28     type: 'string'
29   releases:
30     type: 'array'
31     items:
32       type: 'object'
33       properties:
34         version:
35           type: 'string'
36           # Matches semantic versioning (X.Y.Z)
37           pattern: '^opnfv-([0-9]+\.){2}[0-9]+$'
38         location:
39           type: 'object'
40       required: ['version', 'location']
41       additionalProperties: false
42   branches:
43     type: 'array'
44     items:
45       type: 'object'
46       properties:
47         name:
48           type: 'string'
49           pattern: '^stable/[a-z]+$'
50         location:
51           type: 'object'
52       required: ['name', 'location']
53       additionalProperties: false
54   release-notes:
55     type: 'string'
56     format: 'uri'