]> git.ipfire.org Git - pbs.git/commitdiff
jobs: Remove test flag
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 3 May 2023 09:31:27 +0000 (09:31 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 3 May 2023 09:31:27 +0000 (09:31 +0000)
Builds are now flagged as test builds or not :)

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/jobs.py
src/database.sql

index c48fcbac61a147d0c540dcae5f13a5056993a96a..092033a39b20c176fa0b9bdaa29b7d1f1cca18f3 100644 (file)
@@ -41,25 +41,22 @@ class Jobs(base.Object):
                for row in res:
                        yield Job(self.backend, row.id, data=row)
 
-       def create(self, build, arch, test=False, superseeds=None):
+       def create(self, build, arch, superseeds=None):
                job = self._get_job("""
                        INSERT INTO
                                jobs
                        (
                                build_id,
-                               arch,
-                               test
+                               arch
                        )
                        VALUES
                        (
-                               %s,
                                %s,
                                %s
                        )
                        RETURNING *""",
                        build,
                        arch,
-                       test,
                )
 
                # Set cache for Build object
@@ -243,9 +240,11 @@ class Job(base.DataObject):
        def build(self):
                return self.backend.builds.get_by_id(self.data.build_id)
 
-       @property
-       def test(self):
-               return self.data.test
+       def is_test(self):
+               """
+                       Returns True if this job belongs to a test build
+               """
+               return self.build.is_test()
 
        @property
        def related_jobs(self):
@@ -572,7 +571,6 @@ class Job(base.DataObject):
                job = self.backend.jobs.create(
                        build=self.build,
                        arch=self.arch,
-                       test=self.test,
                        superseeds=self,
                )
 
@@ -740,7 +738,7 @@ class Job(base.DataObject):
                        return True
 
                # Enable the cache for test builds
-               if self.test:
+               if self.is_test():
                        return True
 
                # Otherwise disable the ccache
index 366226b0c025c825eb1883925bb42a88aa1a6164..294d91bc14d11c87adb6e605c3d74b834db600c0 100644 (file)
@@ -376,7 +376,6 @@ CREATE TABLE public.jobs (
     finished_at timestamp without time zone,
     builder_id integer,
     message text,
-    test boolean DEFAULT true NOT NULL,
     superseeded_by integer,
     depcheck_succeeded boolean,
     depcheck_performed_at timestamp without time zone,
@@ -397,7 +396,7 @@ CREATE TABLE public.jobs (
 
 CREATE VIEW public.job_queue AS
  SELECT jobs.id AS job_id,
-    rank() OVER (ORDER BY (NOT jobs.test), builds.priority DESC, jobs.created_at) AS rank,
+    rank() OVER (ORDER BY (NOT (builds.test_for_build_id IS NULL)), builds.priority DESC, jobs.created_at) AS rank,
     jobs.arch
    FROM (public.jobs
      LEFT JOIN public.builds ON ((jobs.build_id = builds.id)))
@@ -689,7 +688,7 @@ CREATE VIEW public.package_estimated_build_times AS
    FROM ((public.jobs
      LEFT JOIN public.builds ON ((jobs.build_id = builds.id)))
      LEFT JOIN public.packages ON ((builds.pkg_id = packages.id)))
-  WHERE ((jobs.deleted_at IS NULL) AND (jobs.started_at IS NOT NULL) AND (jobs.finished_at IS NOT NULL) AND (jobs.failed IS FALSE) AND (jobs.test IS FALSE))
+  WHERE ((jobs.deleted_at IS NULL) AND (jobs.started_at IS NOT NULL) AND (jobs.finished_at IS NOT NULL) AND (jobs.failed IS FALSE) AND (builds.test_for_build_id IS NULL))
   GROUP BY packages.name, jobs.arch;