Merge "check stable branch name against current series"
This commit is contained in:
commit
f7667c14c2
@ -471,7 +471,8 @@ def validate_branch_prefixes(deliverable_info, mk_waring, mk_error):
|
||||
branch['name'], _VALID_BRANCH_PREFIXES))
|
||||
|
||||
|
||||
def validate_stable_branches(deliverable_info, mk_warning, mk_error):
|
||||
def validate_stable_branches(deliverable_info, series_name,
|
||||
mk_warning, mk_error):
|
||||
"Apply the rules for stable branches."
|
||||
if ('launchpad' in deliverable_info and
|
||||
deliverable_info['launchpad'] in _NO_STABLE_BRANCH_CHECK):
|
||||
@ -502,12 +503,20 @@ def validate_stable_branches(deliverable_info, mk_warning, mk_error):
|
||||
'list of releases for this deliverable' % (
|
||||
branch['location'], branch['name']))
|
||||
)
|
||||
if series not in known_series:
|
||||
mk_error(
|
||||
('stable branches must be named for known series '
|
||||
'but %s was not found in %s' % (
|
||||
branch['name'], known_series))
|
||||
)
|
||||
if series_name == '_independent':
|
||||
if series not in known_series:
|
||||
mk_error(
|
||||
('stable branches must be named for known series '
|
||||
'but %s was not found in %s' % (
|
||||
branch['name'], known_series))
|
||||
)
|
||||
else:
|
||||
if series != series_name:
|
||||
mk_error(
|
||||
('cycle-based projects must match series names '
|
||||
'for stable branches. %s should be stable/%s' % (
|
||||
branch['name'], series_name))
|
||||
)
|
||||
|
||||
|
||||
def validate_feature_branches(deliverable_info, workdir, mk_warning, mk_error):
|
||||
@ -692,6 +701,7 @@ def main():
|
||||
)
|
||||
validate_stable_branches(
|
||||
deliverable_info,
|
||||
series_name,
|
||||
mk_warning,
|
||||
mk_error,
|
||||
)
|
||||
|
@ -1035,6 +1035,7 @@ class TestValidateStableBranches(base.BaseTestCase):
|
||||
deliverable_info = yaml.safe_load(deliverable_data)
|
||||
validate.validate_stable_branches(
|
||||
deliverable_info,
|
||||
'ocata',
|
||||
warnings.append,
|
||||
errors.append,
|
||||
)
|
||||
@ -1057,13 +1058,14 @@ class TestValidateStableBranches(base.BaseTestCase):
|
||||
deliverable_info = yaml.safe_load(deliverable_data)
|
||||
validate.validate_stable_branches(
|
||||
deliverable_info,
|
||||
'ocata',
|
||||
warnings.append,
|
||||
errors.append,
|
||||
)
|
||||
self.assertEqual(0, len(warnings))
|
||||
self.assertEqual(1, len(errors))
|
||||
|
||||
def test_unknown_series(self):
|
||||
def test_unknown_series_cycle(self):
|
||||
deliverable_data = textwrap.dedent('''
|
||||
releases:
|
||||
- version: 1.5.0
|
||||
@ -1079,6 +1081,31 @@ class TestValidateStableBranches(base.BaseTestCase):
|
||||
deliverable_info = yaml.safe_load(deliverable_data)
|
||||
validate.validate_stable_branches(
|
||||
deliverable_info,
|
||||
'ocata',
|
||||
warnings.append,
|
||||
errors.append,
|
||||
)
|
||||
print(warnings, errors)
|
||||
self.assertEqual(0, len(warnings))
|
||||
self.assertEqual(1, len(errors))
|
||||
|
||||
def test_unknown_series_independent(self):
|
||||
deliverable_data = textwrap.dedent('''
|
||||
releases:
|
||||
- version: 1.5.0
|
||||
projects:
|
||||
- repo: openstack/automaton
|
||||
hash: be2885f544637e6ee6139df7dc7bf937925804dd
|
||||
branches:
|
||||
- name: stable/abc
|
||||
location: 1.5.0
|
||||
''')
|
||||
warnings = []
|
||||
errors = []
|
||||
deliverable_info = yaml.safe_load(deliverable_data)
|
||||
validate.validate_stable_branches(
|
||||
deliverable_info,
|
||||
'_independent',
|
||||
warnings.append,
|
||||
errors.append,
|
||||
)
|
||||
@ -1103,6 +1130,7 @@ class TestValidateStableBranches(base.BaseTestCase):
|
||||
deliverable_info = yaml.safe_load(deliverable_data)
|
||||
validate.validate_stable_branches(
|
||||
deliverable_info,
|
||||
'_independent',
|
||||
warnings.append,
|
||||
errors.append,
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user