Update lf-info-yaml-verify
[releng/global-jjb.git] / schema / info-schema.yaml
diff --git a/schema/info-schema.yaml b/schema/info-schema.yaml
new file mode 100644 (file)
index 0000000..55f99b5
--- /dev/null
@@ -0,0 +1,80 @@
+# 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/schema/info-schema.yaml"
+
+required:
+  - "project"
+  - "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