828e285701
We use release-types as a way to verify that versions are compatible and if needed reflected accurately in the code (puppet, xstatic). If one isn't set explicitly then we assume python-service. In certain circumstances (anything other than the first release in a series) we also perform python specific requirements checking on all 'python' types. Add a new 'generic' type that uses the same rules to validate version numbers but wont run any python specific checks. We need this a projects (like monasca-thresh) will fail the requirements check for 2nd or greater releases[1]. An alternate would be to have the requirements code check if setup.py exists before calling it but that seems like the wrong layer to me. [1] http://logs.openstack.org/54/652854/1/check/openstack-tox-validate/80df01c/job-output.txt.gz#_2019-04-16_06_08_00_636538 Change-Id: I3fcde5eb266f954fddb6871ce8690b93b8fd7a8d
120 lines
3.0 KiB
YAML
120 lines
3.0 KiB
YAML
---
|
|
$schema: "http://json-schema.org/schema#"
|
|
$id: "https://opendev.org/openstack/releases/src/branch/master/README.rst"
|
|
|
|
# Do not allow any properties not defined here. This lets us catch
|
|
# typos.
|
|
additionalProperties: false
|
|
|
|
required:
|
|
- team
|
|
- type
|
|
|
|
properties:
|
|
team:
|
|
type: "string"
|
|
launchpad:
|
|
type: "string"
|
|
storyboard:
|
|
# TODO(fungi): Previously this was an integer but now we
|
|
# want to support strings. This can be changed to "string"
|
|
# later if all the data gets updated from numbers to names.
|
|
type: ["integer", "string"]
|
|
release-notes:
|
|
oneOf:
|
|
- type: "string"
|
|
# We don't include any details about the object form of the
|
|
# release notes because the keys are the repository names.
|
|
- type: "object"
|
|
include-pypi-link:
|
|
type: "boolean"
|
|
release-model:
|
|
type: "string"
|
|
enum: ["cycle-with-intermediary", "cycle-with-milestones", "cycle-trailing", "untagged", "cycle-with-rc"]
|
|
type:
|
|
type: "string"
|
|
enum: ["horizon-plugin", "library", "client-library", "service", "tempest-plugin", "other"]
|
|
artifact-link-mode:
|
|
type: "string"
|
|
enum: ["tarball", "none"]
|
|
repository-settings:
|
|
type: "object"
|
|
properties:
|
|
additionalProperties: False
|
|
pypi-name:
|
|
type: "string"
|
|
flags:
|
|
type: "array"
|
|
items:
|
|
type: "string"
|
|
enum: [ "no-artifact-build-job", "retired" ]
|
|
tarball-base:
|
|
type: "string"
|
|
release-type:
|
|
type: "string"
|
|
enum: [ "python-service", "python-pypi", "xstatic", "fuel",
|
|
"nodejs", "puppet", "neutron", "horizon", "openstack-manuals",
|
|
"manila-image-elements", "generic" ]
|
|
stable-branch-type:
|
|
type: "string"
|
|
enum: [ "std", "tagless", "upstream" ]
|
|
cycle-highlights:
|
|
type: "array"
|
|
items:
|
|
type: "string"
|
|
releases:
|
|
type: "array"
|
|
items:
|
|
type: "object"
|
|
properties:
|
|
version:
|
|
type: "string"
|
|
projects:
|
|
type: "array"
|
|
items:
|
|
type: "object"
|
|
required:
|
|
- repo
|
|
- hash
|
|
properties:
|
|
repo:
|
|
type: "string"
|
|
hash:
|
|
type: "string"
|
|
comment:
|
|
type: "string"
|
|
tarball-base:
|
|
type: "string"
|
|
additionalProperties: False
|
|
diff-start:
|
|
type: "string"
|
|
flags:
|
|
type: "array"
|
|
items:
|
|
type: "string"
|
|
enum: [ "forced" ]
|
|
required: ["version", "projects"]
|
|
additionalProperties: False
|
|
branches:
|
|
type: "array"
|
|
items:
|
|
type: "object"
|
|
properties:
|
|
name:
|
|
type: "string"
|
|
location:
|
|
oneOf:
|
|
- type: "string"
|
|
- type: "object"
|
|
required: ["name", "location"]
|
|
additionalProperties: False
|
|
stable-status:
|
|
type: "string"
|
|
enum:
|
|
- future
|
|
- development
|
|
- maintained
|
|
- extended maintenance
|
|
- unmaintained
|
|
- end of life
|