]> git.ipfire.org Git - pbs.git/commitdiff
jobs: Wait until repositories are rewritten after finish
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 3 May 2023 17:20:30 +0000 (17:20 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 3 May 2023 17:20:30 +0000 (17:20 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/builds.py
src/buildservice/jobs.py

index c2190a8ffde4e2cb84fb7af81a174bbf8190b7f1..e0b5cd0735cbfd420828ad9af635a78b14262f4d 100644 (file)
@@ -519,10 +519,6 @@ class Build(base.DataObject):
                if self.has_finished():
                        return
 
-               # On success, update all repositories
-               if not job.has_failed():
-                       await self._update_repos()
-
                # If all jobs have finished, the build has finished
                if all((j.has_finished() for j in self.jobs)):
                        return await self.finished(success=True)
@@ -723,7 +719,7 @@ class Build(base.DataObject):
                        This method should be called if the repositories should be updated
                """
                await asyncio.gather(
-                       *(repo.has_changed() for repo in self.repos),
+                       *(repo.update() for repo in self.repos),
                )
 
        ## Bugs
index 2f567a84ce560493b2417323d99e4c3d0a5cd03b..2448a0f2089ef4254489c5330c67e180b09519d3 100644 (file)
@@ -462,6 +462,10 @@ class Job(base.DataObject):
                                        log=await self.tail_log(100),
                                )
 
+               # On success, update all repositories
+               if success:
+                       await self.build._update_repos()
+
                # Propagate any changes to the build
                return await self.build._job_finished(job=self)