diff --git a/pungi/compose.py b/pungi/compose.py index 4c4523bb..6bcdfa3b 100644 --- a/pungi/compose.py +++ b/pungi/compose.py @@ -344,7 +344,14 @@ class Compose(kobo.log.LoggingBase): @property def image_release(self): - """Generate a value to pass to Koji as image release. This includes - date, compose type and respin.""" + """Generate a value to pass to Koji as image release. + + If this compose has a label, the version from it will be used, + otherwise we will create a string with date, compose type and respin. + """ + if self.compose_label: + milestone, release = self.compose_label.split('-') + return release + return '%s%s.%s' % (self.compose_date, self.ci_base.compose.type_suffix, self.compose_respin) diff --git a/tests/test_compose.py b/tests/test_compose.py index a590929e..cc7bb939 100755 --- a/tests/test_compose.py +++ b/tests/test_compose.py @@ -115,6 +115,7 @@ class ComposeTestCase(unittest.TestCase): ci.return_value.compose.date = '20160107' ci.return_value.compose.type = 'nightly' ci.return_value.compose.type_suffix = '.n' + ci.return_value.compose.label = None compose = Compose(conf, self.tmp_dir) @@ -127,11 +128,25 @@ class ComposeTestCase(unittest.TestCase): ci.return_value.compose.date = '20160107' ci.return_value.compose.type = 'production' ci.return_value.compose.type_suffix = '.n' + ci.return_value.compose.label = None compose = Compose(conf, self.tmp_dir) self.assertEqual(compose.image_release, '20160107.n.2') + @mock.patch('pungi.compose.ComposeInfo') + def test_image_release_from_label(self, ci): + conf = {} + ci.return_value.compose.respin = 2 + ci.return_value.compose.date = '20160107' + ci.return_value.compose.type = 'production' + ci.return_value.compose.type_suffix = '.n' + ci.return_value.compose.label = 'Alpha-1.2' + + compose = Compose(conf, self.tmp_dir) + + self.assertEqual(compose.image_release, '1.2') + @mock.patch('pungi.compose.ComposeInfo') def test_get_variant_arches_without_filter(self, ci): conf = ConfigWrapper(