diff --git a/build/models/__init__.py b/build/models/__init__.py index 085972a..474687c 100644 --- a/build/models/__init__.py +++ b/build/models/__init__.py @@ -65,6 +65,7 @@ def jbi_manage(sender, **kwargs): if not br.append_built(jbi): logger.debug("BuildRelease:%s jbi:%s skip", br, jbi) return + br.remove_triggered(jbi) params = { "release_uuid": br.uuid, "trigger_release": br.release, diff --git a/build/models/br.py b/build/models/br.py index 05a8175..d575370 100644 --- a/build/models/br.py +++ b/build/models/br.py @@ -185,7 +185,6 @@ class BuildRelease(models.Model): def append_built(self, jbi): jobname = jbi.jobname - self.remove_triggered(jbi) if jbi.result == "FAILURE": if jobname.endswith("-piuparts"): return False diff --git a/build/test/test_models.py b/build/test/test_models.py index 4e35def..6d860e1 100644 --- a/build/test/test_models.py +++ b/build/test/test_models.py @@ -402,6 +402,39 @@ class JBIManageTest(TestCase): self.assertEqual(br.pool_size, 2) self.assertEqual(br.triggered_projects, "data-hal,libinewrate") + @override_settings(BUILD_POOL=2) + @patch("build.models.trigger_build") + def test_jbi_manage_pool_building(self, tb, dl): + self.test_jbi_manage_pool() + br = BuildRelease.objects.first() + self.assertEqual(br.pool_size, 2) + JenkinsBuildInfo.objects.create( + job_url="http://fake.local/job/data-hal-binaries/", + projectname="data-hal", + jobname="data-hal-binaries", + tag="UUIDA", + param_release="release-mr8.1", + param_release_uuid="UUID_mr8.1", + buildnumber=1, + result="SUCCESS", + ) + br = BuildRelease.objects.first() + self.assertEqual(br.pool_size, 2) + self.assertEqual(br.triggered_projects, "data-hal,libinewrate") + JenkinsBuildInfo.objects.create( + job_url="http://fake.local/job/libinewrate-binaries/", + projectname="libinewrate", + jobname="libinewrate-binaries", + tag="UUIDA", + param_release="release-mr8.1", + param_release_uuid="UUID_mr8.1", + buildnumber=1, + result="SUCCESS", + ) + br = BuildRelease.objects.first() + self.assertEqual(br.pool_size, 2) + self.assertEqual(br.triggered_projects, "data-hal,libinewrate") + @override_settings(BUILD_POOL=2) @patch("build.models.trigger_build") def test_jbi_manage_pool_next(self, tb, dl):