]> git.ipfire.org Git - pbs.git/commitdiff
builds: Fix creating test groups
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 7 Feb 2025 16:27:55 +0000 (16:27 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 7 Feb 2025 16:27:55 +0000 (16:27 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/builds.py

index 6e53cd85251643ce9e54ea964696728212a2953c..8b96540b65e20fe6ae63e2dc588589b10219d8e9 100644 (file)
@@ -1164,28 +1164,27 @@ class Build(database.Base, database.BackendMixin, database.SoftDeleteMixin):
                        return
 
                # Create a build group for all tests
-               group = self.backend.builds.create_group(owner=self.owner, tested_build=self)
+               group = await self.backend.builds.create_group(
+                       owner        = self.owner,
+                       tested_build = self,
+               )
 
                # Create a test build only for the latest version of each package
                for name in builds:
                        build = max(builds[name])
 
-                       # Launch test build
-                       t = await self.backend.builds.create(
+                       # Create a new test build
+                       await self.backend.builds.create(
                                # Use the same build repository
-                               repo=self.repo,
-                               package=build.pkg,
-                               owner=self.owner,
-                               group=group,
-                               test=True,
+                               repo    = self.repo,
+                               package = build.pkg,
+                               owner   = self.owner,
+                               group   = group,
+                               test    = True,
                        )
-                       group.builds.append(t)
-
-               # Cache the group
-               self.test_builds = group
 
                # Return the group
-               return self.test_builds
+               return group
 
        async def _test_builds_finished(self, success):
                """
@@ -1278,6 +1277,26 @@ class BuildGroup(database.Base, database.SoftDeleteMixin):
        created_at = Column(DateTime(timezone=False), nullable=False,
                server_default=sqlalchemy.func.current_timestamp())
 
+       # Created By ID
+
+       created_by_id = Column(Integer, ForeignKey("users.id"))
+
+       # Created By
+
+       created_by = sqlalchemy.orm.relationship(
+               "User", foreign_keys=[created_by_id], lazy="selectin",
+       )
+
+       # Deleted By ID
+
+       deleted_by_id = Column(Integer, ForeignKey("users.id"))
+
+       # Deleted By
+
+       deleted_by = sqlalchemy.orm.relationship(
+               "User", foreign_keys=[deleted_by_id], lazy="selectin",
+       )
+
        # Finished At
 
        finished_at = Column(DateTime(timezone=False), nullable=False)