Merge "Do not allow final without RC in cycle-with-rc"

This commit is contained in:
Zuul
2019-06-28 13:43:09 +00:00
committed by Gerrit Code Review
2 changed files with 8 additions and 8 deletions

View File

@@ -283,8 +283,12 @@ def validate_pre_release_progression(deliv, context):
return
releases = deliv.releases
if len(releases) < 2:
print('this rule only applies to the final release in a series')
# Milestone-based deliverables cannot directly do a final release
if len(releases) == 1:
if not releases[-1].is_pre_release_version:
context.error('A RC release must be present before final release '
'for deliverables following a milestone-based cycle')
return
previous_release = releases[-2]

View File

@@ -3248,16 +3248,12 @@ class TestValidatePreReleaseProgression(base.BaseTestCase):
self.assertEqual(0, len(self.ctx.warnings))
self.assertEqual(0, len(self.ctx.errors))
def test_no_rc(self):
def test_missing_rc(self):
deliverable_data = yamlutils.loads(textwrap.dedent('''
---
team: Release Management
release-model: cycle-with-rc
releases:
- version: 1.5.1
projects:
- repo: openstack/automaton
hash: be2885f544637e6ee6139df7dc7bf937925804dd
- version: 1.5.2
projects:
- repo: openstack/automaton
@@ -3275,7 +3271,7 @@ class TestValidatePreReleaseProgression(base.BaseTestCase):
)
self.ctx.show_summary()
self.assertEqual(0, len(self.ctx.warnings))
self.assertEqual(0, len(self.ctx.errors))
self.assertEqual(1, len(self.ctx.errors))
def test_final_follows_rc(self):
deliverable_data = yamlutils.loads(textwrap.dedent('''