mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-04-03 02:37:48 +08:00
Merge #560 Do not reuse components when rpm macros change
This commit is contained in:
@@ -944,6 +944,16 @@ def get_reusable_component(session, module, component_name):
|
||||
.format(previous_module_build.version, previous_module_build.name))
|
||||
return None
|
||||
|
||||
# If the mmd.buildopts.macros.rpms changed, we cannot reuse
|
||||
modulemd_macros = ""
|
||||
old_modulemd_macros = ""
|
||||
if mmd.buildopts and mmd.buildopts.rpms:
|
||||
modulemd_macros = mmd.buildopts.rpms.macros
|
||||
if old_mmd.buildopts and old_mmd.buildopts.rpms:
|
||||
modulemd_macros = old_mmd.buildopts.rpms.macros
|
||||
if modulemd_macros != old_modulemd_macros:
|
||||
return None
|
||||
|
||||
# If the module buildrequires are different, then we can't reuse the
|
||||
# component
|
||||
if mmd.buildrequires.keys() != old_mmd.buildrequires.keys():
|
||||
|
||||
@@ -208,6 +208,23 @@ class TestUtils(unittest.TestCase):
|
||||
db.session, second_module_build, 'tangerine')
|
||||
self.assertEqual(tangerine_rv, None)
|
||||
|
||||
def test_get_reusable_component_different_rpm_macros(self):
|
||||
test_reuse_component_init_data()
|
||||
second_module_build = models.ModuleBuild.query.filter_by(id=2).one()
|
||||
mmd = second_module_build.mmd()
|
||||
mmd.buildopts.rpms.macros = "%my_macro 1"
|
||||
second_module_build.modulemd = mmd.dumps()
|
||||
db.session.commit()
|
||||
|
||||
plc_rv = module_build_service.utils.get_reusable_component(
|
||||
db.session, second_module_build, 'perl-List-Compare')
|
||||
self.assertEqual(plc_rv, None)
|
||||
|
||||
# perl-Tangerine has a different commit hash
|
||||
pt_rv = module_build_service.utils.get_reusable_component(
|
||||
db.session, second_module_build, 'perl-Tangerine')
|
||||
self.assertEqual(pt_rv, None)
|
||||
|
||||
def test_get_reusable_component_different_buildrequires_hash(self):
|
||||
test_reuse_component_init_data()
|
||||
second_module_build = models.ModuleBuild.query.filter_by(id=2).one()
|
||||
|
||||
Reference in New Issue
Block a user