add "upstream" stable-branch-type

Add a stable-branch-type called "upstream" for projects that follow
the naming conventions of another upstream project (see puppet-ceph
for an example).

Change-Id: I354bf975311c2b02c020dc83590c041c7733b041
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
Doug Hellmann 2017-08-21 15:51:41 -04:00
parent d0690f5166
commit 573194a623
3 changed files with 17 additions and 2 deletions

View File

@ -432,6 +432,10 @@ The top level of a deliverable file is a mapping with keys:
hash. This mode should only be used for projects that do not tag
releases, such as devstack and grenade.
``upstream``
Stable branch names track upstream release names, rather than
OpenStack series names.
``branches``
A list of the branches for the deliverable.

View File

@ -681,11 +681,22 @@ def validate_stable_branches(deliverable_info, workdir,
'does not exist' % (
(loc, repo, branch['name'])))
)
elif branch_mode == 'upstream':
if not isinstance(location, six.string_types):
mk_error(
('branch location for %s is '
'expected to be a string but got a %s' % (
branch['name'], type(location)))
)
else:
mk_error(
('unrecognized stable-branch-type %r' % (branch_mode,))
)
if series_name == '_independent':
if branch_mode == 'upstream':
mk_warning(
'skipping branch name check for upstream mode'
)
elif series_name == '_independent':
if series not in known_series:
mk_error(
('stable branches must be named for known series '

View File

@ -38,7 +38,7 @@ properties:
enum: [ "std", "xstatic", "fuel" ]
stable-branch-type:
type: "string"
enum: [ "std", "tagless" ]
enum: [ "std", "tagless", "upstream" ]
releases:
type: "array"
items: