From 925caa76cfb1f3f55637608ea3d020554c725625 Mon Sep 17 00:00:00 2001 From: Silvie Chlupova Date: Apr 21 2022 09:06:51 +0000 Subject: frontend: builds after resubmit have different built packages The git hash inheritance was broken in commit a5fe445ee47dee54939d7e06d73cf20b973246f1 Fixes: #2130 --- diff --git a/frontend/coprs_frontend/coprs/logic/builds_logic.py b/frontend/coprs_frontend/coprs/logic/builds_logic.py index eb5fee4..d6c2f1a 100644 --- a/frontend/coprs_frontend/coprs/logic/builds_logic.py +++ b/frontend/coprs_frontend/coprs/logic/builds_logic.py @@ -731,7 +731,7 @@ class BuildsLogic(object): something_added = True additional_args = {} if git_hashes: - additional_args["git_hash"] = git_hashes.get(chroot) + additional_args["git_hash"] = git_hashes.get(chroot.name) if status is None: status = StatusEnum("waiting") buildchroot = BuildChrootsLogic.new( diff --git a/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py b/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py index 54cb2f3..dbe9f6e 100644 --- a/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py +++ b/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py @@ -379,6 +379,14 @@ class TestBuildsLogic(CoprsTestCase): with pytest.raises(NoResultFound): BuildsLogic.get(self.b4.id).one() + @pytest.mark.usefixtures("f_users", "f_coprs", "f_mock_chroots", "f_builds") + def test_resubmit_build_inherit_git_hash(self): + orig_git_hash = self.b1.build_chroots[0].git_hash + self.b1.source_type = 2 # builds from upload should inherit the git hash + new_build = BuildsLogic.create_new_from_other_build(self.u1, self.c1, self.b1) + new_git_hash = new_build.build_chroots[0].git_hash + assert orig_git_hash == new_git_hash + def test_mark_as_failed(self, f_users, f_coprs, f_mock_chroots, f_builds): self.b1.source_status = StatusEnum("succeeded") self.db.session.commit()