Info YAML Verify job validates that INFO.yaml file changes are kept isolated from
other file changes. Verifies INFO.yaml files follow the schema defined in
-`global-jjb/info-schema`.
+`lfit/releng-global-jjb/schema/info-schema.yaml`.
:Template Names:
- {project-name}-info-yaml-verify
+++ /dev/null
-# 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'
- - '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
--- /dev/null
+---
+fixes:
+ - |
+ Move info-schema to schema/info-schema.yaml to keep schemas
+ consistency.
+ - |
+ Download only needed files for lf-info-yaml-verify
+ rather than cloning the entire repo.
--- /dev/null
+# 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
source "/tmp/v/info/bin/activate"
pip install PyYAML jsonschema rfc3987 yamllint
-# Cloning global-jjb to get access to needed scripts
-git clone https://github.com/lfit/releng-global-jjb.git
+# Download info-schema.yaml and yaml-verfy-schema.py
+wget -q https://raw.githubusercontent.com/lfit/releng-global-jjb/master/schema/info-schema.yaml \
+https://raw.githubusercontent.com/lfit/releng-global-jjb/master/yaml-verify-schema.py
yamllint INFO.yaml
-python releng-global-jjb/yaml-verify-schema.py \
- -s releng-global-jjb/info-schema \
+python yaml-verify-schema.py \
+ -s info-schema.yaml \
-y INFO.yaml
-
-rm -rf releng-global-jjb