summaryrefslogtreecommitdiffstats
path: root/releases/schema.yaml
diff options
context:
space:
mode:
authorTrevor Bramwell <tbramwell@linuxfoundation.org>2018-01-11 14:27:48 -0800
committerTrevor Bramwell <tbramwell@linuxfoundation.org>2018-03-21 11:47:48 -0700
commit4260e9d3c2c9f1ed9a0d550abc032d93e89cf55c (patch)
treeb4db721eae30da930e53e4c344c920b464dbaf89 /releases/schema.yaml
parent6b68713ac730177080c7be7069b837e3fe2b7ed5 (diff)
Release Automation
Tracking releases through yaml file similar to the openstack/releases project. Includes a schema file to be for validation, jobs for creating gerrit branches and stable branch jobs, and documentation for projects on creating their releases. Change-Id: Id1876482723e01806c0a6932126dff5ea314eae5 Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
Diffstat (limited to 'releases/schema.yaml')
-rw-r--r--releases/schema.yaml56
1 files changed, 56 insertions, 0 deletions
diff --git a/releases/schema.yaml b/releases/schema.yaml
new file mode 100644
index 000000000..c3838760a
--- /dev/null
+++ b/releases/schema.yaml
@@ -0,0 +1,56 @@
+##############################################################################
+# Copyright (c) 2018 Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+$schema: 'http://json-schema.org/schema#'
+$id: 'https://github.com/opnfv/releng/blob/master/releases/schema.yaml'
+
+additionalProperties: false
+
+required:
+ - 'project'
+ - 'project-type'
+
+properties:
+ project:
+ type: 'string'
+ release-model:
+ type: 'string'
+ enum: ['stable', 'non-release']
+ project-type:
+ type: 'string'
+ enum: ['installer', 'testing', 'feature', 'tools', 'infra']
+ upstream:
+ type: 'string'
+ releases:
+ type: 'array'
+ items:
+ type: 'object'
+ properties:
+ version:
+ type: 'string'
+ # Matches semantic versioning (X.Y.Z)
+ pattern: '^opnfv-([0-9]+\.){2}[0-9]+$'
+ location:
+ type: 'object'
+ required: ['version', 'location']
+ additionalProperties: false
+ branches:
+ type: 'array'
+ items:
+ type: 'object'
+ properties:
+ name:
+ type: 'string'
+ pattern: '^stable/[a-z]+$'
+ location:
+ type: 'object'
+ required: ['name', 'location']
+ additionalProperties: false
+ release-notes:
+ type: 'string'
+ format: 'uri'