Add INFO.yaml verify jobs
[releng/global-jjb.git] / info-schema
diff --git a/info-schema b/info-schema
new file mode 100644 (file)
index 0000000..c98a470
--- /dev/null
@@ -0,0 +1,71 @@
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2018 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+##############################################################################
+---
+$schema: 'http://json-schema.org/schema#'
+$id: 'https://github.com/lfit/releng-global-jjb/blob/master/info-schema'
+
+required:
+  - 'project'
+  - 'version'
+  - 'project_creation_date'
+  - 'project_category'
+  - 'lifecycle_state'
+  - 'project_lead'
+  - 'primary_contact'
+  - 'issue_tracking'
+  - 'mailing_list'
+  - 'realtime_discussion'
+  - 'repositories'
+  - 'committers'
+  - 'tsc'
+
+properties:
+  project:
+    type: 'string'
+  version:
+    type: 'string'
+  project_creation_date:
+    type: 'string'
+  project_category:
+    type: 'string'
+  lifecycle_state:
+    type: 'string'
+    enum: ['Incubation', 'Proposal', 'Mature', 'Core', 'Top Level', 'Archived', 'Null', 'Integration']
+  project_lead: &user_object
+    type: 'object'
+    properties:
+      name:
+        type: 'string'
+      email:
+        type: 'string'
+        format: 'email'
+      id:
+        type: 'string'
+      company:
+        type: 'string'
+      timezone:
+        type: 'string'
+        pattern: '([A-Z][a-z]*\s*)+\/([A-Za-z_-])+'
+    additionalProperties: false
+  primary_contact: *user_object
+  issue_tracking:
+    type: 'object'
+    properties:
+      type:
+        type: 'string'
+      url:
+        type: 'string'
+        format: 'uri'
+      key:
+        type: 'string'
+      required: ['type', 'url']
+  committers:
+    type: 'array'
+    items: *user_object